2010-12-27 31 views
6

Ich weiß, dass es viele Beiträge zu diesem Problem gibt. Aber kann jemand mir helfen, dieses http://www.rustyparts.com/pdf.php Skript auf meinem localhost zu arbeiten.Ich verbrachte nur die ganze Woche auf dieses Problem.Ich habe Download ImageMagic, Ghostscript, ActivePerl ,. .., alles, aber immer noch kein einfaches Beispiel für die Arbeit.Konvertieren von HTML in PDF in PHP?

+2

Das ist eine nicht mehr länger gepflegte Bibliothek .. die letzte Version ist von 2006! Ich würde ein neueres und aktiveres betrachten. – ncuesta

+0

Wenn Sie nicht mit der Bibliothek fortfahren möchten, die Sie gerade verwenden, finden Sie hier eine gute Liste: http://stackoverflow.com/q/3178448/264628. Sieht so aus, als ob du wkhtmltopdf ausprobierst, aber es gibt auch eine Reihe von reinen PHP-Lösungen. – BrianS

Antwort

10

Verwenden Sie wkhtmltopdf über einen Systemaufruf. Informationen zur Installation finden Sie unter How to install wkhtmltopdf on a linux based (shared hosting) web server.

wkhtmltopdf ist ein Kommandozeilenprogramm , die eine pdf von einem URL erstellen ermöglicht, eine lokale HTML-Datei oder stdin. Es produziert eine pdf wie Rendred mit der WebKit-Engine.

Siehe das Beispiel von dieser Seite here.

PHP-Code getestet auf Ubuntu (Sie werden die /tmp/ in ein temporäres Verzeichnis unter Windows ändern müssen):

$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); 

Es gibt auch php bindings, die die Notwendigkeit beseitigt, ein System nennen sich selbst, zu verwenden, das ist eine einfachere (und sicherere!) Option.

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, eine andere PHP-PDF-Bibliothek: (((Aber ich muss System für den Export HTML-Seiten zu PDF erstellen, Benutzer auf Link auf der Website klicken, und als PDF-Datei generiert wird? – user147

+0

Seien Sie vorsichtig mit den einzelnen Anführungszeichen dort. Wenn Sie Möchte Variablen ersetzen, müssen diese doppelte Anführungszeichen sein. – ncuesta

+0

ok, cool, es sieht gut aus, kann ich diese Bibliothek auf meiner Website verwenden, ich bin nicht php guru, ich lerne nur ein paar Sachen – user147

3

Einfach, aber leistungsstark: 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

das sieht gut aus, ist es einfach auf localhost zu installieren? dann später auf dem Server? – user147

+0

Ja, extrahieren Sie es einfach im Stammordner und Sie sind fertig. –

+0

Cool, ich werde einen Blick darauf werfen, tnx mate :) – user147

0

Außerdem gibt es eine andere Bibliothek, die PDF-Dateien erzeugt: TCPDF. Nett und ziemlich einfach. Sie können viele Beispiele finden.

1

DocRaptor.com ist eine gute Option - es verwendet Prince XML, so ist die Qualität besser als andere Tools, und es ist eine Web-App, so nichts zum Download. Es funktioniert auch in jeder Sprache.