So konvertieren Sie HTML in PDF in Java
Mit der kontinuierlichen Weiterentwicklung der Digitalisierung ist in den letzten Jahren die Nachfrage nach elektronischen Dokumenten immer größer geworden. Bei der eigentlichen Arbeit müssen wir häufig HTML-Dateien in PDF-Dateien konvertieren und dabei die Java-Programmiertechnologie verwenden. In diesem Artikel wird die Java-Implementierungsmethode zum Konvertieren von HTML in PDF anhand der folgenden drei Aspekte vorgestellt:
1 Verwenden Sie iText zum Konvertieren von HTML in PDF
iText ist eine beliebte Java-PDF-Bibliothek, die HTML-Dateien in PDF-Dateien konvertieren kann. iText analysiert HTML-Dateien und rekonstruiert die Seite mithilfe der PDF-Markup-Sprache. Das Folgende ist der Schlüsselcode für die Verwendung von iText zum Konvertieren von HTML in PDF:
Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("output.pdf")); document.open(); HTMLWorker htmlWorker = new HTMLWorker(document); String html = "<html><head></head><body><p>Hello World</p></body></html>"; htmlWorker.parse(new StringReader(html)); document.close();
Der obige Code erstellt ein Document-Objekt zum Generieren von PDF-Dateien und verwendet dann PDFWriter, um das Document-Objekt in den Ausgabestream zu schreiben, um PDF-Dateien zu generieren. Der HTMLWorker wird dann verwendet, um das HTML-Dokument zu analysieren und es der PDF-Seite hinzuzufügen. Schließen Sie abschließend das Document-Objekt, um die Generierung der PDF-Datei abzuschließen.
2. Verwenden Sie Flying Saucer, um HTML in PDF zu konvertieren
Ein weiteres Java-Tool, das zum Konvertieren von HTML in PDF verwendet werden kann, ist Flying Saucer. Es handelt sich um einen kostenlosen Open-Source-PDF-Renderer, der HTML in Dokumente im PDF-Format konvertieren kann. Das Folgende ist ein Beispielcode für die Konvertierung von HTML in PDF mit Flying Saucer:
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = documentBuilderFactory.newDocumentBuilder(); Document document = builder.parse(new InputSource(new StringReader(htmlContent))); ITextRenderer iTextRenderer = new ITextRenderer(); iTextRenderer.setDocument(document, null); iTextRenderer.layout(); OutputStream outputStream = new FileOutputStream("output.pdf"); iTextRenderer.createPDF(outputStream); outputStream.close();
Der obige Code analysiert zunächst das HTML-Dokument und liest es in Document ein. Verwenden Sie dann die Methode „layout()“ von ITextRenderer, um das Dokument zu gestalten. Verwenden Sie abschließend die Methode createPDF(), um die PDF-Datei im OutputStream zu generieren.
3. Verwenden Sie PDFBox, um HTML in PDF zu konvertieren
PDFBox ist eine beliebte Open-Source-Java-PDF-Bibliothek, die viele Tools zum Erstellen und Verarbeiten von PDF-Dateien bietet. Es enthält auch einige HTML-zu-PDF-Beispielcodes. Den vollständigen Beispielcode finden Sie hier.
Das Folgende ist ein Beispielcode für die Konvertierung von HTML in PDF mit PDFBox:
PDDocument document = new PDDocument(); PDPage page = new PDPage(); document.addPage(page); PDPageContentStream contentStream = new PDPageContentStream(document, page); PDRectangle mediaBox = page.getMediaBox(); float margin = 72; float startX = mediaBox.getLowerLeftX() + margin; float startY = mediaBox.getUpperRightY() - margin; float width = mediaBox.getWidth() - 2 * margin; String html = "<html><head></head><body><p>Hello World!</p></body></html>"; ByteArrayInputStream bais = new ByteArrayInputStream(html.getBytes()); InputStreamReader isr = new InputStreamReader(bais); COSDocument cosDoc = new COSDocument(); PDFOperator.reset(); PDPageTree pageTree = new PDPageTree(); PDDOMParser parser = new PDDOMParser(cosDoc); parser.parse(isr); PDDocumentOutline outline = new PDDocumentOutline(); document.getDocumentCatalog().setDocumentOutline(outline.getRootNode()); PDOutlineItem item = new PDOutlineItem(); item.setTitle("PDFBox"); PDOutlineItem childItem = new PDOutlineItem(); childItem.setTitle("Hello World 2"); item.addLast(childItem); outline.getRootNode().addLast(item); PDAcroForm form = new PDAcroForm(cosDoc); document.getDocumentCatalog().setAcroForm(form); PDPageContentStream cs = new PDPageContentStream(document, page); PDFTextStripper stripper = new PDFTextStripper(); stripper.setStartPage(0); stripper.setEndPage(1); String text = stripper.getText(document); cs.beginText(); cs.setFont(PDType1Font.COURIER, 14); cs.drawString(text, 100, 100); cs.endText(); contentStream.close(); document.save("output.pdf"); document.close();
Der obige Code erstellt zunächst ein PDDocument-Objekt und fügt ihm eine neue Seite hinzu. Anschließend wird ein PDPageContentStream-Objekt erstellt, das zum Zeichnen von Inhalten auf der Seite verwendet wird. Als nächstes verwenden Sie PDDOMParser, um den HTML-Code in ein COSDocument-Objekt zu analysieren. Abschließend wird der Inhalt in den Ausgabestream geschrieben, um eine PDF-Datei zu generieren.
Zusammenfassung
HTML zu PDF hat ein sehr breites Anwendungsspektrum im tatsächlichen Produktionsprozess, und diese wichtige Aufgabe kann einfach durch Java-Programmierung erledigt werden. In diesem Artikel wird erläutert, wie Sie HTML mit drei Tools in PDF konvertieren: iText, Flying Saucer und PDFBox. Unabhängig von der Situation kann die Entwicklung schneller und bequemer gestaltet werden, indem Sie die Methode wählen, die Ihren Projektanforderungen am besten entspricht.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie HTML in PDF in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In dem Artikel wird die Verwendung von UseEffect in React, einen Haken für die Verwaltung von Nebenwirkungen wie Datenabrufen und DOM -Manipulation in funktionellen Komponenten erläutert. Es erklärt die Verwendung, gemeinsame Nebenwirkungen und Reinigung, um Probleme wie Speicherlecks zu verhindern.

Lazy Ladeverzögerung des Ladens von Inhalten bis zur Bedarf, Verbesserung der Webleistung und Benutzererfahrung durch Reduzierung der anfänglichen Ladezeiten und des Serverlasts.

Funktionen höherer Ordnung in JavaScript verbessern die Übersichtlichkeit, Wiederverwendbarkeit, Modularität und Leistung von Code durch Abstraktion, gemeinsame Muster und Optimierungstechniken.

In dem Artikel wird das Currying in JavaScript, einer Technik, die Multi-Argument-Funktionen in Einzelargument-Funktionssequenzen verwandelt. Es untersucht die Implementierung von Currying, Vorteile wie teilweise Anwendungen und praktische Verwendungen, Verbesserung des Code -Lesens

Der Artikel erläutert den Versöhnungsalgorithmus von React, der das DOM effizient aktualisiert, indem virtuelle DOM -Bäume verglichen werden. Es werden Leistungsvorteile, Optimierungstechniken und Auswirkungen auf die Benutzererfahrung erörtert.

Der Artikel erläutert den Usecontext in React, was das staatliche Management durch Vermeidung von Prop -Bohrungen vereinfacht. Es wird von Vorteilen wie zentraler Staat und Leistungsverbesserungen durch reduzierte Neulehre erörtert.

In Artikel werden die Verbindungskomponenten an Redux Store mit Connect () verbinden, wobei MapStatetoprops, MapDispatchtoprops und Leistungsauswirkungen erläutert werden.

In Artikeln werden das Standardverhalten bei Ereignishandlern mithilfe von PURDDEFAULT () -Methoden, seinen Vorteilen wie verbesserten Benutzererfahrungen und potenziellen Problemen wie Barrierefreiheitsproblemen verhindern.
