Konvertieren von HTML-Dateien in PDF [closed]

Lesezeit: 7 Minuten

Konvertieren von HTML Dateien in PDF closed
panschk

Ich muss aus einem bestehenden (X)HTML-Dokument automatisch eine PDF-Datei generieren. Die Eingabedateien (Berichte) verwenden ein ziemlich einfaches, tabellenbasiertes Layout, sodass eine Unterstützung für wirklich schickes JavaScript/CSS-Zeug wahrscheinlich nicht erforderlich ist.

Da ich es gewohnt bin, in Java zu arbeiten, ist eine Lösung, die einfach in einem Java-Projekt verwendet werden kann, vorzuziehen. Es muss jedoch nur auf Windows-Systemen funktionieren.

Eine Möglichkeit, dies zu tun, die machbar ist, aber keine qualitativ hochwertige Ausgabe erzeugt (zumindest sofort einsatzbereit), ist die Verwendung von CSS2XSLFO, und Apache FOP zum Erstellen der PDF-Dateien. Das Problem, auf das ich gestoßen bin, war, dass CSS-Attribute zwar gut konvertiert werden, das Tabellenlayout jedoch ziemlich durcheinander ist, da Text aus der Tabellenzelle fließt.

Ich habe auch einen kurzen Blick auf Jrex geworfen, eine Java-API zur Verwendung der Gecko-Rendering-Engine.

Gibt es vielleicht eine Möglichkeit, die gerenderte Seite von der Rendering-Engine des Internet Explorers abzurufen und automatisch an ein PDF-Drucker-Tool zu senden? Ich habe keine Erfahrung in der OLE-Programmierung in Windows, daher habe ich keine Ahnung, was möglich ist und was nicht.

Haben sie eine Idee?

  • Ich habe vor kurzem eine Java-Bibliothek erstellt docbag die xhtml in pdf-dokumente umwandeln kann. Die aktuelle Version ist nicht fortgeschritten, aber wenn Ihre xhtml-Vorlagen einfach sind, kann diese Bibliothek nützlich sein.

    – Jakob Torbicki

    8. Oktober 2012 um 14:05 Uhr

  • Ich denke, der richtige Weg ist, die Browserfunktionen zu verwenden, um die Übersetzung durchzuführen. Siehe stackoverflow.com/q/25574082/39998

    – David Hofmann

    29. August 2014 um 19:46 Uhr

  • Ich stecke fest mit dem Generieren von PDF aus einem HTML-Code, der kyrillische Buchstaben enthält. Alles ist in Ordnung, außer kyrillische Buchstaben, die weggelassen werden. Wer hat so ein Problem?

    – Kristijan Iljew

    2. Januar 2015 um 20:00 Uhr

  • @krisiliev: Ich hatte ähnliche Probleme, und soweit ich mich erinnern kann, war die verwendete Schriftart sehr wichtig. Die meisten Schriftarten unterstützen keine vollständigen UTF8-Zeichen, aber die folgenden sollten: ‘ font-family: Arial Unicode MS;’ (CSS). Stellen Sie außerdem sicher, dass Sie die richtige Codierung verwenden (ich würde empfehlen, immer UTF-8 zu verwenden)

    – panschk

    28. Januar 2015 um 14:23 Uhr


  • dieser Link hat mir geholfen hmkcode.com/itext-html-to-pdf-using-java

    – Mateen

    6. Oktober 2016 um 18:43 Uhr


1646181431 802 Konvertieren von HTML Dateien in PDF closed
Kennzeichen

Die Fliegende Untertasse Das XHTML-Renderer-Projekt unterstützt die Ausgabe von XHTML in PDF. Schauen Sie sich ein Beispiel an Hier.

  • Das eigentliche Problem mit Flying Sauser ist, dass es itext verwendet, um PDF zu rendern, das eine von AGPL v3 lizenzierte Bibliothek ist

    – David Hofmann

    27. November 2012 um 14:29 Uhr

  • Die von Flying Saucer verwendete Version von itext ist 2.0.8, die unter LGPL verfügbar war. Nur die Versionsnummern 5 oder höher sind in der restriktiveren Lizenz enthalten. stackoverflow.com/questions/2692000/…

    – Gary

    13. Februar 2013 um 14:53 Uhr

  • Ich würde sagen, das eigentliche Problem mit Flying Saucer ist, dass es ein wohlgeformtes und gültiges XML-Dokument erfordert. Es ist leicht, die PDF-Wiedergabe unwissentlich zu unterbrechen, indem Sie so etwas wie ein kaufmännisches Und in Ihren HTML-Code oder einen JavaScript-Code einfügen, der Ihren gerenderten HTML-Code zu einem nicht strengen XHTML-Code macht. Dies kann jedoch durch automatisierte Tests oder einen Prozess, der eine XML-Validierung beinhaltet, gemildert werden.

    – SteveT

    19. Juni 2013 um 13:43 Uhr

Konvertieren von HTML Dateien in PDF closed
Mikrofon

Hast du versucht WKHTMLTOPDF?

Es ist ein einfaches Shell-Dienstprogramm, eine Open-Source-Implementierung von WebKit. Beide sind kostenlos.

Wir haben ein kleines Tutorial eingestellt Hier

BEARBEITEN (2017):

Wenn es heute etwas bauen müsste, würde ich diesen Weg nicht mehr gehen.
Würde aber gebrauchen http://pdfkit.org/ stattdessen.
Wahrscheinlich werden alle Abhängigkeiten von nodejs entfernt, um im Browser ausgeführt zu werden.

  • Für eine direkte HTML-Seite-zu-PDF-Konvertierung ist dies besser als alles andere, was ich gesehen habe, kostenlos oder kommerziell.

    – MGOwen

    1. November 2009 um 23:08 Uhr

  • Funktioniert es auf einem Nicht-Mac-Betriebssystem?

    – Eran Medan

    26. März 2011 um 1:55 Uhr

  • @Eran, wir verwenden es unter Linux. Ich glaube, es gibt auch eine Windows-Version

    – Mikrofon

    28. März 2011 um 9:39 Uhr

  • @Mic Ja, es gibt auch eine Windows-Version.

    – Viccari

    14. März 2012 um 16:30 Uhr

  • getestet auf Windows XP (Version 0.9.9) und funktioniert sehr gut. Außerdem sind keine Administratorrechte auf dem zu installierenden Computer erforderlich.

    – Christoph Mahan

    23. Mai 2013 um 23:28 Uhr


Konvertieren von HTML Dateien in PDF closed
Fred-o

Kasse ich schreibe; Es ist ein reines Java-PDF-Toolkit, das das Lesen von Daten aus HTML unterstützt. Ich habe es kürzlich in einem Projekt verwendet, als ich Inhalte aus unserem CMS ziehen und als PDF-Dateien exportieren musste, und es war alles ziemlich einfach. Die Unterstützung für CSS- und Style-Tags ist ziemlich begrenzt, aber Tabellen werden problemlos gerendert (ich habe es jedoch nie geschafft, die Spaltenbreite festzulegen).

Das Erstellen eines PDFs aus HTML geht ungefähr so:

Document doc = new Document(PageSize.A4);
PdfWriter.getInstance(doc, out);
doc.open();
HTMLWorker hw = new HTMLWorker(doc);
hw.parse(new StringReader(html));
doc.close();

  • Es ist AGPL, scheint noch schlimmer als GPL zu sein, Sie müssen Open Source sein, auch wenn Sie nur das PDF bereitstellen und iText serverseitig ist.

    – Eran Medan

    26. März 2011 um 1:54 Uhr

  • @Eran, verwenden Sie einfach die letzte Nicht-AGPL-Version (com.lowagie:itext:2.1.7 in Maven).

    – Nowaker

    20. April 2011 um 15:11 Uhr


  • HTMLWorker ist in neueren Versionen von IText zugunsten von XMLWorker veraltet; Allerdings ist die CSS-Unterstützung in beiden Fällen schlecht (siehe demo.itextsupport.com/xmlworker/itextdoc/…) und war für meine Bedürfnisse nicht ausreichend. Im Gegenteil, Flying Saucer war perfekt.

    – Pino

    12. November 2013 um 9:35 Uhr

  • Sie können die LGPL-Version verwenden, die Sie unter finden können github.com/albfernandez/itext2

    – Wladimir Roschkow

    12. September 2016 um 11:58 Uhr

  • HTMLWorker unterstützt sehr einfache HTML-Dokumente mit grundlegenden Elementen und ohne CSS. Es ist zu begrenzt, um nützlich zu sein. Aber das neuere iText html2pdf funktioniert wirklich super kb.itextpdf.com/home/it7kb/ebooks/…

    – Emmanuel Burg

    6. Mai 2021 um 8:07 Uhr

Wenn Sie die Finanzierung haben, schlägt nichts Prinz XML als dieses Video zeigt

Gibt es vielleicht eine Möglichkeit, die gerenderte Seite von der Rendering-Engine des Internet Explorers abzurufen und automatisch an ein PDF-Drucker-Tool zu senden?

Das ist wie ActivePDF funktioniert, was gut bedeutet, dass Sie wissen, was Sie bekommen, und es bietet tatsächlich eine angemessene Styling-Unterstützung.

Es ist auch eines der wenigen Pakete, die ich gefunden habe (wenn ich ein paar Jahre zurückblicke), das tatsächlich die verschiedenen CSS-Befehle für den Seitenumbruch unterstützt.

Leider ist die ActivePDF-Software sehr frustrierend – da sie den IE-Browser für Konvertierungen im Hintergrund starten muss, kann sie ziemlich langsam sein, und sie ist auch nicht besonders stabil.

Es gibt derzeit eine neue Beta-Version, die viel besser sein soll, aber ich hatte noch keine Gelegenheit, sie auszuprobieren, also weiß ich nicht, inwieweit sie eine Verbesserung darstellt.

  • Danke für die hilfreiche Antwort. Ich finde ActivePDF aufgrund des Preises nicht wirklich geeignet, aber gut zu wissen, dass es so etwas gibt.

    – panschk

    11. März 2009 um 11:05 Uhr

  • HTML-zu-PDF-API von GrabzIt: grabz.it/html-to-pdf-image-api.aspx Funktioniert auf die gleiche Weise, wie HTML in einem Browser gerendert und dann das PDF erstellt wird, wodurch sichergestellt wird, dass es viel genauere PDF-Konvertierungen gibt.

    – Benutzer1474090

    13. Januar 2017 um 15:38 Uhr

1646181433 436 Konvertieren von HTML Dateien in PDF closed
Gemeinschaft

Sie können einen kopflosen Firefox mit einer Erweiterung verwenden. Es ist ziemlich nervig, laufen zu gehen, aber es bringt gute Ergebnisse.

Weitere Informationen finden Sie in dieser Antwort.

  • Danke für die hilfreiche Antwort. Ich finde ActivePDF aufgrund des Preises nicht wirklich geeignet, aber gut zu wissen, dass es so etwas gibt.

    – panschk

    11. März 2009 um 11:05 Uhr

  • HTML-zu-PDF-API von GrabzIt: grabz.it/html-to-pdf-image-api.aspx Funktioniert auf die gleiche Weise, wie HTML in einem Browser gerendert und dann das PDF erstellt wird, wodurch sichergestellt wird, dass es viel genauere PDF-Konvertierungen gibt.

    – Benutzer1474090

    13. Januar 2017 um 15:38 Uhr

1646181433 702 Konvertieren von HTML Dateien in PDF closed
Philho

Wenn Sie sich die Seitenleiste Ihrer Frage ansehen, werden Sie viele verwandte Fragen sehen…

In Ihrem Kontext ist die einfachere Methode möglicherweise die Installation eines PDF-Druckertreibers wie z PDF-Erstellungswerkzeug und drucken Sie einfach die Seite zu dieser Ausgabe.

  • Wie ist das eine Java-Lösung? Dies ist ein Windows-Druckertreiber.

    – Grau

    7. März 2016 um 14:51 Uhr

  • Das OP erwähnte ausdrücklich Windows. Und ich nehme an, es gibt ähnliche Treiber für andere Systeme. Das OP erwähnte nur Java als mögliche Lösung …

    – Philho

    7. März 2016 um 15:05 Uhr

906510cookie-checkKonvertieren von HTML-Dateien in PDF [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy