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

16voto

Arni J Punkte 385

Versuchen Sie es mit der neuesten nächtlichen dompdf build - Ich habe eine ältere Version verwendet, die ein schrecklicher Ressourcenfresser war und ewig brauchte, um mein PDF zu rendern. Nachdem ich eine nächtliche Version von aquí .

Es dauerte nur ein paar Sekunden, um das PDF zu erstellen - und es wurde genauso schön gerendert wie mit PrinceXML / Docraptor . Es scheint, als hätten sie das System ernsthaft optimiert. dompdf Code, seit ich ihn das letzte Mal benutzt habe!

13voto

Frank Punkte 594

Unter Kostengesichtspunkten kann die Nutzung eines Webdienstes (API) in vielen Fällen der sinnvollere Ansatz sein. Außerdem entlasten Sie durch die Auslagerung dieses Prozesses Ihre eigene Infrastruktur/Backend und gewährleisten - sofern Sie einen seriösen Dienst nutzen - die Kompatibilität mit den sich anpassenden Webstandards, die Betriebszeit, kurze Bearbeitungszeiten und eine schnelle Bereitstellung der Inhalte.

Ich habe einige Nachforschungen über die meisten der derzeit auf dem Markt befindlichen Webdienste angestellt. Nachfolgend finden Sie die APIs, die meiner Meinung nach in diesem Thread erwähnenswert sind, in einer Reihenfolge, die auf dem Preis-/Wertverhältnis basiert. Alle von ihnen bieten vorkomponierte PHP-Klassen und -Pakete an.

  1. pdflayer.com - Kosten: $ - Qualität:
  2. docraptor.com - Kosten: $$$ - Qualität:
  3. pdfcrowd.com - Kosten: $$ - Qualität:

Qualität:

Mit dem hochwertigen Motor PrinceXML als Rückgrat, DocRaptor bietet eindeutig die beste PDF-Qualität und liefert hochglanzpolierte und gut konvertierte PDF-Dokumente. Allerdings ist die pdflayer-API Service kommt hier ziemlich nah. Pdfcrowd wird nicht unbedingt mit der Qualität, sondern mit der Verarbeitungsgeschwindigkeit bewertet.

Kosten:

pdflayer.com - Wie bereits erwähnt, ist pdflayer.com die kostengünstigste Option, die ein kostenloses Abonnement für 100 monatliche PDFs und Premium-Abonnements zwischen $9,99 und $119,99 anbietet. Der Preis für 10.000 monatliche PDF-Dokumente beträgt $39,99.

docraptor.com - Wir bieten eine 7-tägige kostenlose Testphase an. Premium-Abonnementpläne reichen von $15-$2250. Der Preis für 10.000 monatliche PDF-Dokumente beträgt ca. 300,00 $.

pdfcrowd.com - Angebot von 100 PDFs einmal umsonst. Premium-Abonnements reichen von $9-$89. Der Preis für 10.000 monatliche PDF-Dokumente beträgt ca. $49,00.

Ich habe alle drei Produkte verwendet, und dieser Text soll jedem helfen, sich zu entscheiden, ohne für alle Produkte bezahlen zu müssen. Dieser Text wurde nicht geschrieben, um ein bestimmtes Produkt zu empfehlen, und ich habe keine Verbindung zu einem der Produkte.

12voto

chjortlund Punkte 2968

Wenn Sie Zugriff auf die Kommandozeile haben, können Sie PhantomJS zur Erstellung der PDF aus einer URL (remote oder lokal).

Es funktioniert wirklich gut und ist eine kostenlose Lösung.

Schauen Sie sich das an Beispiel Skript, das genau für dieses Problem entwickelt wurde.

11voto

Koen. Punkte 22804

Diese Frage ist schon ziemlich alt, aber ich habe noch niemanden gesehen, der sie erwähnt hat CutyCapt. also werde ich es tun :)

CutyCapt.

CutyCapt. ist ein kleines plattformübergreifendes Kommandozeilenprogramm, das das Rendering einer Webseite durch WebKit in eine Vielzahl von Vektor- und Bitmap-Formate, einschließlich SVG, PDF, PS, PNG, JPEG, TIFF, GIF und BMP

11voto

criss_ae Punkte 51

Ich empfehle TCPDF oder DOMPDF, in dieser Reihenfolge.

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