HTML in PDF mit iText konvertieren
Problem: CSS-Positionierung wird nicht berücksichtigt
Viele Entwickler haben Schwierigkeiten beim Konvertieren von HTML in PDF mit iText, insbesondere im Hinblick auf Platzierung von Elementen mithilfe von CSS.
Einschränkungen von HTMLWorker
HTMLWorker, eine veraltete Komponente von iText, weist erhebliche Nachteile auf:
-
CSS-Unterstützung: Es unterstützt kein echtes CSS und erfordert eine explizite Stildefinition im Code.
-
Veraltet: Viele in HTMLWorker verwendete Klassen und Methoden sind geworden veraltet.
Herausforderungen von XMLWorker
XMLWorker, als generisches XML-Parsing-Framework gedacht, hatte ähnliche Probleme:
-
Fehlendes Bild: Bilder fehlten ohne ImageProvider; selbst dann wurden CSS-Attribute wie Float ignoriert.
-
Teilweise CSS-Unterstützung:Positionierungsbezogene CSS-Stile wurden nicht vollständig unterstützt.
Lösung mit iText 7 und pdfHTML
Um diese Mängel zu beheben, wurden iText 7 und sein pdfHTML-Add-on entwickelt. Sie bieten einen vereinfachten Ansatz:
public static final String SRC = "src/main/resources/html/sample.html";
public static final String DEST = "target/results/sample.pdf";
public void createPdf(String src, String dest) throws IOException {
HtmlConverter.convertToPdf(new File(src), new File(dest));
}
Nach dem Login kopieren
Dieser Code generiert die gewünschte PDF-Ausgabe unter Berücksichtigung von CSS-Attributen wie Float.
Zusätzliche Überlegungen
-
Lizenzierung: iText 7 wird unter der AGPL veröffentlicht und ermöglicht die kostenlose Nutzung in Open-Source-Projekten, für Closed-Source sind jedoch kommerzielle Lizenzen erforderlich Anwendungen.
-
Altsysteme: Die Migration von älteren iText-Versionen auf iText 7 kann für die Einfachheit und Zukunftssicherheit des Codes von Vorteil sein.
-
Leitfaden für Einsteiger: Für diejenigen, die neu bei iText 7 sind, wird empfohlen, den vorhandenen Code zu verwerfen und neu zu beginnen, um die Konvertierung zu vereinfachen Prozess.
Das obige ist der detaillierte Inhalt vonWie können iText 7 und pdfHTML Probleme bei der Konvertierung von HTML in PDF mit CSS-Positionierung lösen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!