Konvertieren von HTML-Dateien in PDF-Dateien
Muss ich automatisch generieren einer PDF-Datei aus einer vorhandenen (X)HTML-Dokument. Die input-Dateien (Berichte) verwenden eine Recht einfache, auf Tabellen basierende layout, also die Unterstützung für die wirklich Lust JavaScript - /CSS-Kram ist wohl nicht nötig.
Als ich gewohnt bin zu arbeiten, in Java, eine Lösung, die verwendet werden können in einem java-Projekt vorzuziehen ist. Es muss nur die Arbeit auf windows-Systemen, aber.
Einen Weg, es zu tun, das ist machbar, aber nicht produzieren gute Qualität-Ausgabe (zumindest out of the box) ist mit CSS2XSLFO und Apache FOP zur PDF-Dateien zu erstellen. Das problem begegnete ich war, dass zwar CSS-Attribute umgewandelt, schön, das Tisch-layout ist ziemlich Durcheinander, mit text fließt aus der Zelle.
Habe ich auch einen kurzen Blick auf Jrex, eine Java-API für die Verwendung der Gecko-rendering-engine.
Gibt es vielleicht einen Weg, greifen in die gerenderte Seite aus dem internet-explorer-rendering-engine und senden Sie es an einen PDF-Drucker-tool automatisch? Ich habe keine Erfahrung in der OLE-Programmierung in windows, so dass ich keine Ahnung habe, was möglich ist und was nicht.
Haben Sie eine Idee?
BEARBEITEN: Der FlyingSaucer/iText Ding sieht sehr vielversprechend aus. Ich werde versuchen zu gehen.
Danke für die vielen Antworten
InformationsquelleAutor der Frage panschk | 2009-03-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Fliegende Untertasse XHTML-renderer-Projekt hat die Unterstützung für die Ausgabe von XHTML zu PDF. Haben Sie einen Blick auf ein Beispiel hier.
InformationsquelleAutor der Antwort Mark
Haben Sie versucht,WKHTMLTOPDF?
Es ist ein einfaches shell-Dienstprogramm, eine open-source-Implementierung von WebKit. Beide sind frei.
Haben wir ein kleines tutorial hier
BEARBEITEN( 2017 ):
Wenn es etwas zu bauen heute, würde ich nicht gehen, dass die route nicht mehr.
Aber verwenden würde http://pdfkit.org/ statt.
Wahrscheinlich Strippen alle Ihre nodejs Abhängigkeiten, um im browser ausgeführt werden.
InformationsquelleAutor der Antwort Mic
Check-out iText; es ist eine Reine Java PDF toolkit die Unterstützung für das Lesen von Daten aus HTML. Ich habe es vor kurzem in einem Projekt, wenn ich brauchte, um pull-Inhalte aus unserem CMS und exportieren Sie als PDF-Dateien, und es war alles ziemlich unkompliziert. Die Unterstützung für CSS-und style-tags ist ziemlich begrenzt, aber es tut render-Tabellen ohne Probleme (habe ich nie geschafft, Spaltenbreite festlegen wenn).
Erstellen von PDF-Dateien aus HTML geht so etwas wie dieses:
InformationsquelleAutor der Antwort fred-o
Wenn Sie die Finanzierung, schlägt nichts Prince XML als dieses video zeigt
InformationsquelleAutor der Antwort Ólafur Waage
Dies ist, wie ActivePDF funktioniert, was gut bedeutet, dass Sie wissen, was Sie bekommen, und es hat tatsächlich angemessenen styling-support.
Es ist auch eines der wenigen Pakete, die ich gefunden (wenn man ein paar Jahre zurück), die tatsächlich unterstützt die unterschiedlichen page-break CSS-Befehle.
Leider, die ActivePDF software ist sehr frustrierend, da Sie, um starten Sie den IE-browser im hintergrund für die Konvertierungen kann es ziemlich langsam, und es ist nicht besonders stabil.
Gibt es eine neue version, die derzeit in der Beta, die soll viel besser sein, aber ich habe nicht wirklich eine chance hatte, es auszuprobieren, so weiß nicht, wie viel von einer Verbesserung, die es ist.
InformationsquelleAutor der Antwort Peter Boughton
Können Sie ein headless firefox mit einer Erweiterung. Es ist ziemlich nervig zum laufen bekommen aber es hat gute Ergebnisse erzielen.
Check-out diese Antwort für mehr info.
InformationsquelleAutor der Antwort rojoca
Amyuni WebkitPDF könnte verwendet werden, mit JNI für Windows-only-Lösung. Dies ist ein HTML-zu-PDF/XAML-Konvertierungs-Bibliothek kostenlos für kommerzielle und nicht-kommerzielle Nutzung.
Wenn die Ausgabe-Dateien werden nicht sofort gebraucht, für eine bessere Skalierbarkeit kann es besser sein, eine Warteschlange und ein paar hintergrund-Prozesse, die Elemente von dort, Konvertierung und Speicherung dann in der Datenbank oder im Dateisystem.
üblichen Haftungsausschluss gilt
InformationsquelleAutor der Antwort yms
Wenn man sich die Seite bar Ihre Frage, Sie werden sehen, viele Fragen...
In Ihrem Kontext, die einfachere Methode sein könnte, installieren Sie einen PDF-Druckertreiber wie PDFCreator und drucken Sie einfach die Seite dieser Ausgabe.
InformationsquelleAutor der Antwort PhiLho