2010-12-27 32 views
6

Wiem, że istnieje wiele postów dotyczących tego problemu.Ale ktoś może mi pomóc skonfigurować ten skrypt http://www.rustyparts.com/pdf.php do pracy na moim localhost.I właśnie spędził cały tydzień na ten problem.Mam pobrać imagemagic, ghostscript, activeperl ,. .., wszystko, ale nadal nie może dać prostego przykładu do pracy.Konwersja html na pdf w php?

+2

To coś w rodzaju nieobsługiwanej biblioteki ... jej ostatnia wersja pochodzi z 2006 roku! Rozważałbym nowszą i aktywną. – ncuesta

+0

Jeśli zdecydujesz się nie kontynuować biblioteki, której aktualnie używasz, możesz znaleźć dobrą listę tutaj: http://stackoverflow.com/q/3178448/264628. Wygląda na to, że próbujesz wkhtmltopdf, ale istnieje również wiele czystych rozwiązań PHP. – BrianS

Odpowiedz

10

Użyj wkhtmltopdf przez wywołanie systemowe. Aby uzyskać pomoc na temat instalacji, patrz: How to install wkhtmltopdf on a linux based (shared hosting) web server.

wkhtmltopdf jest programem wiersza poleceń który pozwala na tworzenie pdf z URL, lokalnego pliku html lub standardowego wejścia. To tworzy plik pdf podobny do rendere z silnikiem WebKit .

Zobacz próbkę z tej strony here.

testowane na Ubuntu kodu php (trzeba zmienić /tmp/ do katalogu tymczasowego na Windows):

$url = 'http://www.google.com'; 
$pdffile = tempnam('/tmp/', 'wkhtmltopdf_'); 
$handle = popen("wkhtmltopdf $url $pdffile 2>&1", "r"); 
while (!feof($handle)) 
    fread($handle, 4096); 
pclose($handle); 
header('Content-type: application/pdf'); 
$file = fopen($pdffile, "r"); 
while(!feof($file)) 
    print fread($file, 4096); 
unlink($pdffile); 

Istnieją również php bindings który eliminuje potrzebę korzystania z systemu nazywają siebie, co jest prostsza (i bezpieczniejsza!) opcja.

try { 
    $wkhtmltopdf = new Core_Wkhtmltopdf(array('path' => APPLICATION_PATH . '/../public/uploads/')); 
    $wkhtmltopdf->setTitle("Title"); 
    $wkhtmltopdf->setHtml("Content"); 
    $wkhtmltopdf->output(Wkhtmltopdf::MODE_DOWNLOAD, "file.pdf"); 
} catch (Exception $e) { 
    echo $e->getMessage(); 
} 
+0

Ohhh, inna biblioteka pdf php: (((ale muszę utworzyć system do eksportowania stron HTML do pdf, użytkownik kliknąć na link na stronie internetowej, a następnie plik PDF jest generowany? – user147

+0

Uważaj na pojedyncze cytaty tam. chcecie zastąpienia zmiennych, te będą musiały być podwójnymi cytatami – ncuesta

+0

ok, fajnie, wygląda świetnie, mogę korzystać z tej biblioteki na mojej stronie, nie jestem php guru, właśnie się uczę czegoś – user147

3

Prosty, ale potężny: http://html2pdf.fr/en/default

$html = file_get_contents("valid.html"); 
require_once("html2pdf.class.php"); 
$html2pdf = new HTML2PDF("P", "A4", "en", array(10, 10, 10, 10)); 
$html2pdf->setEncoding("ISO-8859-1"); 
$html2pdf->WriteHTML($html); 
$html2pdf->Output("pdf/PDF.pdf", "F"); //output to file 
$html2pdf->Output(); //output to browser 
+0

to wygląda świetnie, czy jest prosty do zainstalowania na localhost? później na serwerze? – user147

+0

Tak po prostu wyodrębnij go w folderze głównym i wszystko gotowe. –

+0

Fajnie, popatrzę na to, tnx mate :) – user147

0

Ponadto, istnieje inna biblioteka, która generuje pliki PDF: TCPDF. Ładne i całkiem proste. Możesz znaleźć wiele przykładów w pobliżu.

1

DocRaptor.com to dobra opcja - używa Prince XML, więc jakość jest lepsza niż inne narzędzia, a jest to aplikacja internetowa, więc nic do pobrania. Działa również w dowolnym języku.