1722 Stimmen

Wie kann ich HTML und CSS in PDF einfügen?

Ich habe ein HTML-Dokument (nicht XHTML), das in Firefox 3 und IE 7 gut dargestellt wird. Es verwendet ziemlich einfache CSS, um es zu gestalten und wird in HTML gut wiedergegeben.

Ich suche nun nach einer Möglichkeit, sie in PDF zu konvertieren. Ich habe es versucht:

  • DOMPDF : Es hatte große Probleme mit Tabellen. Ich habe meine großen verschachtelten Tabellen ausgeklammert und das hat geholfen (vorher hat es nur bis zu 128M Speicher verbraucht und ist dann gestorben - das ist meine Speichergrenze in der php.ini), aber es macht ein komplettes Durcheinander von Tabellen und scheint keine Bilder zu bekommen. Die Tabellen waren nur einfaches Zeug mit einigen Randstilen, um einige Linien an verschiedenen Stellen hinzuzufügen;
  • HTML2PDF und HTML2PS : Ich hatte tatsächlich mehr Glück mit diesem. Es gerendert einige der Bilder (alle Bilder sind Google Chart URLs) und die Tabelle Formatierung war viel besser, aber es schien einige Komplexität Problem, das ich noch nicht herausgefunden haben und hielt sterben mit unbekannten node_type() Fehler. Ich bin mir nicht sicher, wie es weitergehen soll; und
  • Htmldoc Dies scheint zu funktionieren gut auf grundlegende HTML, aber hat fast keine Unterstützung für CSS whatsoever, so dass Sie alles in HTML zu tun haben (ich wusste nicht, es war noch 2001 in Htmldoc-Land ...), so ist es nutzlos für mich.

Ich habe eine Windows-Anwendung namens Html2Pdf Pilot ausprobiert, die eigentlich ziemlich gute Arbeit geleistet hat, aber ich brauche etwas, das zumindest unter Linux läuft und idealerweise auf Abruf über PHP auf dem Webserver läuft.

Was übersehe ich, oder wie kann ich dieses Problem lösen?

9 Stimmen

Html2Pdf verwendet eine eingebettete Instanz des IE, um die Seite zu rendern, und konvertiert diese dann in PDF - wahrscheinlich über den Druckmechanismus des IE.

58 Stimmen

Da es sich um eine Frage aus dem Jahr 2008 handelt, ist dompdf inzwischen viel ausgereifter ;-)

5 Stimmen

Dompdf unterstützt jetzt CSS 2.1 und kann mit @import , @media et @screen Regeln, und lädt externe Stylesheets. Es kommt auch mit allem gebündelt für sie erforderlich, um zu arbeiten, obwohl es Dinge, die Sie installieren können, um eine bessere Leistung als die Standard-Bibliotheken zu erhalten. code.google.com/p/dompdf

27voto

datasn.io Punkte 12018

Nun, wenn Sie eine perfekte XHTML+CSS zu PDF Konverter Bibliothek finden wollen, vergessen Sie es. Das ist bei weitem nicht möglich. Denn das ist genauso, wie einen perfekten Browser (XHTML+CSS Rendering Engine) zu finden. Haben wir einen? IE oder FF?

Ich habe einige Erfolge mit DOMPDF erzielt. Die Sache ist die, dass man seinen HTML+CSS-Code ändern muss, um ihn an die Funktionsweise der Bibliothek anzupassen. Abgesehen davon habe ich ziemlich gute Ergebnisse.

Siehe unten:

Original HTML

Konvertierung von HTML in PDF

26voto

Luke Wenke Punkte 1171

El HTML2PDF und HTML2PS die ursprünglich im Eröffnungsbeitrag erwähnt wurde, bezog sich auf ein Paket von 2009 mit diesem lien

Aber es gibt eine bessere HTML2PDF

Es basiert auf TCPDF, ist aber teilweise in französischer Sprache.

Sie können Tabellenköpfe oder -fußzeilen haben, die sich auf den Seiten wiederholen und Seitenzahlen und Gesamtseiten enthalten. Siehe seine Beispiele . Ich benutze es seit über drei Jahren und kann es nur empfehlen.

23voto

Ich verwende fpdf um PDF-Dateien mit PHP zu erzeugen. Es funktioniert gut für mich so weit, um einfache Ausgaben zu produzieren.

22voto

yoavf Punkte 20115

Auf der Devzone von Zend gibt es ein Tutorial, wie man pdf aus php generiert ( Teil 1 , Teil 2 ) ohne irgendwelche externen Bibliotheken. Ich habe diese Art von Lösung nie implementiert, aber da es alles php ist, könnten Sie es flexibler zu implementieren und zu debuggen finden.

17voto

Arachnid Punkte 231

Darryl Heins obige Erwähnung von TCPDF ist wahrscheinlich eine gute Idee. Der Code von Nicola Asuni ist ziemlich praktisch und leistungsstark. Der einzige Wermutstropfen ist, dass er nicht über diese Funktionen verfügt, wenn Sie jemals vorhaben, PDF-Dateien mit dem generierten PDF zusammenzuführen. Sie müssten die PDF-Datei erstellen und sie dann mit etwas wie PDFTK von Sid Steward (www.pdflabs.com/tools/pdftk-the-pdf-toolkit/) zusammenführen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X