De

KNOWLEDGEBASE

PDF aus HTML mit Java generieren [Schritt für Schritt]

Dieser Artikel zeigt Ihnen, wie Sie mit Java PDFs aus HTML generieren. Sie können HTML-Dokumente einschließlich CSS-Stile einfach manipulieren und rendern.

Aspose.HTML for Java ermöglicht Ihren Anwendungen, eine Vielzahl von HTML-Manipulationsaufgaben auszuführen, und unterstützt HTML5-, CSS3-, SVG- und HTML-Canvas-Funktionen. Mit unserer API können Sie Webseiten laden, analysieren, den Inhalt bearbeiten und Seiten speichern und konvertieren. Beliebte Formate, die Sie bearbeiten können: XHTML, MHTML, SVG, MD, PDF, XPS, EPUB, PNG, TIFF, JPEG, BMP und andere.

PDF aus HTML in Java

Umfangreiche Funktionen

Aspose.HTML für Java bietet Ihnen viele Funktionen in vielen verschiedenen Bereichen:

• Dokumentobjektmodell – ermöglicht das Bearbeiten, Erstellen und Entfernen von Knoten und ist gemäß der offiziellen HTML-Dokumentation aufgebaut. • Hochleistungswandler. Weitere Informationen zu unterstützten Dateiformaten finden Sie unter Features List oder [Converting]( https://docs.aspose.com /html/java/converting-between-formats/) Artikel. • Verarbeitung von CSS, JavaScript und anderen integrierten Formaten.

Generieren Sie PDF aus HTML mit einer einzigen Zeile Java-Code

Mit den statischen Methoden des [Converter]( https://reference.aspose.com/html/java/com.aspose.html.converters/ Konverter) Klasse.

// Invoke the ConvertHTML method to convert the HTML to PDF.
com.aspose.html.converters.Converter.convertHTML(
        "<span>Hello World!!</span>",
        ".",
        new com.aspose.html.saving.PdfSaveOptions(),
        "output.pdf"
);

PDF aus HTML Zeile für Zeile mit Java generieren

Im Folgenden sind die Schritte zum Generieren von PDF aus HTML Zeile für Zeile aufgeführt:

  1. Laden Sie zuerst die HTML-Datei mit der Klasse HtmlDocument.
  2. Erstellen Sie danach eine Instanz von [PdfSaveOptions] ( https://reference.aspose.com/html/java/com.aspose.html.saving/pdfsaveoptions).
  3. Mit [ConvertHTML()]( https://reference.aspose.com/html/java/com.aspose.html.converters/Converter#convertHTML-com.aspose.HTMLDocument-com.aspose.saving.PdfSaveOptions-java .lang.String-)-Methode der Converter-Klasse speichert HTML als PDF-Datei. Sie müssen das HTMLDocument, [PdfSaveOptions]( https://reference.aspose.com/html/java /com.aspose.html.saving/PdfSaveOptions) und geben Sie den Dateipfad an die Methode ConvertHTML() aus, um PDF aus HTML zu generieren.
// Prepare an HTML code and save it to the file.
String code = "<span>Hello World!!</span>";
try (java.io.FileWriter fileWriter = new java.io.FileWriter("document.html")) {
    fileWriter.write(code);
}

// Initialize an HTML document from the file
com.aspose.html.HTMLDocument document = new com.aspose.html.HTMLDocument("document.html");
try {
    // Initialize PdfSaveOptions
    com.aspose.html.saving.PdfSaveOptions options = new com.aspose.html.saving.PdfSaveOptions();

    // Convert HTML to PDF
    com.aspose.html.converters.Converter.convertHTML(
            document,
            options,
            "output.pdf"
    );
} finally {
    if (document != null) {
        document.dispose();
    }
}

Passen Sie den Rendering-Prozess mit der Option Speichern an

Sie können den Rendering-Prozess mit den PdfSaveOptions anpassen und die [Seitengröße](https://reference .aspose.com/html/java/com.aspose.html.rendering/RenderingOptions#getPageSetup–), [Dateiberechtigungen]( https://reference.aspose.com/html/java/com.aspose.html.rendering .pdf.encryption/pdfencryptioninfo), Ränder, [CSS-Medientyp](https:/ /reference.aspose.com/html/java/com.aspose.html.rendering/MediaType) und viele mehr. Im unten gezeigten Beispiel können Sie sehen, wie Sie PdfSaveOptions verwenden und eine PDF-Datei mit einer benutzerdefinierten Seitengröße und Hintergrundfarbe erstellen:

// Prepare an HTML code and save it to the file
String code = "<span>Hello</span> <span>World!!</span>";
try (java.io.FileWriter fileWriter = new java.io.FileWriter("document.html")) {
    fileWriter.write(code);
}

// Set A5 as a page-size and change the background color to green
com.aspose.html.saving.PdfSaveOptions options = new com.aspose.html.saving.PdfSaveOptions();
com.aspose.html.rendering.PageSetup pageSetup = new com.aspose.html.rendering.PageSetup();
com.aspose.html.drawing.Page anyPage = new com.aspose.html.drawing.Page();
anyPage.setSize(
        new com.aspose.html.drawing.Size(
                com.aspose.html.drawing.Length.fromInches(8.3f),
                com.aspose.html.drawing.Length.fromInches(5.8f)
        )
);
pageSetup.setAnyPage(anyPage);
options.setPageSetup(pageSetup);

options.setBackgroundColor(com.aspose.html.drawing.Color.getGreen());

// Convert HTML document to PDF
com.aspose.html.converters.Converter.convertHTML(
        "document.html",
        options,
        "output.pdf"
);

Im Artikel Fine-Tuning Converters finden Sie mehr über [PdfSaveOptions](https:/ /reference.aspose.com/html/java/com.aspose.html.saving/pdfsaveoptions).

Ausgabestreamanbieter

Sie können die Schnittstelle MemoryStreamProvider implementieren, wenn Sie Dateien in einem Remotespeicher wie der Cloud oder Datenbank speichern möchten. Die MemoryStreamProvider-Schnittstelle ist als Rückrufobjekt konzipiert, um einen Stream zu erstellen und den früh erstellten Stream nach dem Rendern der Seite oder des Dokuments freizugeben.

Nachfolgend zeigen wir Ihnen ein Beispiel für die Verwendung von MemoryStreamProvider:

package com.aspose.html.examples.java;

// For complete examples and data files, please go to https://github.com/aspose-html/Aspose.HTML-for-Java
public class MemoryStreamProvider implements java.io.Closeable {
    // List of InputStream objects created during the document rendering
    public java.util.List<java.io.InputStream> lStream = new java.util.ArrayList<>();

    @Override
    public void close() throws java.io.IOException {
        for (java.io.InputStream stream : lStream) {
            stream.close();
        }
    }
}
// Create an instance of MemoryStreamProvider
try (MemoryStreamProvider streamProvider = new MemoryStreamProvider()) {
    // Initialize an HTML document
    com.aspose.html.HTMLDocument document = new com.aspose.html.HTMLDocument("<span>Hello World!!</span>", ".");
    try {
        // Convert HTML to PDF by using the MemoryStreamProvider
        com.aspose.html.converters.Converter.convertHTML(
                document,
                new com.aspose.html.saving.PdfSaveOptions(),
                streamProvider.lStream
        );

        // Get access to the memory stream that contains the result data
        java.io.InputStream inputStream = streamProvider.lStream.stream().findFirst().get();

        // Flush the result data to the output file
        try (java.io.FileOutputStream fileOutputStream = new java.io.FileOutputStream("output.pdf")) {
            byte[] buffer = new byte[inputStream.available()];
            inputStream.read(buffer);
            fileOutputStream.write(buffer);
        }
    } finally {
        if (document != null) {
            document.dispose();
        }
    }
}

Aspose bietet technischen Support für alle seine Produkte, von Knowledge Base-Artikeln, Dokumentation, [Blog](https: //blog.aspose.com/), Codebeispiele und Demos, an Free Support sowie hochverfügbarer kostenpflichtiger Support. Wenn Sie Experten benötigen, die mit Ihnen zusammenarbeiten und Ihnen helfen, Aspose.HTML für Java gemäß Ihren Anforderungen zu implementieren, ist die beste Lösung unsere [kostenpflichtige Beratung] ( https://consulting.aspose.com/).