Vidensbase

Generer PDF fra HTML ved hjælp af Java [Trin-for-trin]

Denne artikel viser dig, hvordan du genererer PDF’er fra HTML ved hjælp af Java. Du kan nemt manipulere og gengive HTML-dokumenter inklusive CSS-stilarter.

Aspose.HTML for Java gør det muligt for dine applikationer at udføre en bred vifte af HTML-manipulationsopgaver og understøtter HTML5, CSS3, SVG og HTML Canvas-funktioner. Med vores API kan du indlæse websider, analysere, redigere indholdet samt gemme og konvertere sider.
Populære formater, du kan manipulere: XHTML, MHTML, SVG, MD, PDF, XPS, EPUB, PNG, TIFF, JPEG, BMP og andre.

PDF fra HTML i Java

Rigt udvalg af funktioner

Aspose.HTML for Java tilbyder dig mange funktioner inden for forskellige områder:

• Document Object Model – tillader dig at redigere, oprette og fjerne noder og er bygget i overensstemmelse med den officielle HTML‑dokumentation.
• Højtydende konvertere. For mere info om understøttede filformater, besøg Funktionsliste eller Konvertering artiklerne.
• Behandling af CSS, JavaScript og andre indbyggede formater.

Generer PDF fra HTML med en enkelt linje Java‑kode

Du kan nemt generere PDF fra HTML i din Java‑applikation med bogstaveligt talt en enkelt linje kode ved hjælp af de statiske metoder i klassen Converter .

// 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"
);

Generer PDF fra HTML linje for linje ved hjælp af Java

Nedenfor er trinnene for at generere PDF fra HTML linje for linje:

  1. Brug klassen HtmlDocument til først at indlæse HTML‑filen.
  2. Opret derefter en forekomst af PdfSaveOptions .
  3. Med metoden ConvertHTML() i klassen Converter gemmer du HTML som en PDF‑fil. Du skal videregive HTMLDocument , PdfSaveOptions og output‑filstien til ConvertHTML()-metoden for at generere PDF fra HTML.
// 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();
    }
}

Tilpas gengivelsesprocessen med gemmeindstillingen

Du kan tilpasse gengivelsesprocessen med PdfSaveOptions og angive sidestørrelse , filrettigheder , marginer , CSS‑medietype og meget mere. I eksemplet nedenfor kan du se, hvordan du bruger PdfSaveOptions til at oprette en PDF‑fil med en brugerdefineret sidestørrelse og baggrundsfarve:

// 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"
);

I artiklen Finjustering af konvertere kan du finde mere om PdfSaveOptions .

Outputstrømudbyder

Du kan implementere grænsefladen MemoryStreamProvider , hvis du vil gemme filer i fjernlager, såsom skyen eller en database.
MemoryStreamProvider‑grænsefladen er designet som et callback‑objekt til at oprette en strøm og frigive den tidligt oprettede strøm efter gengivelse af siden eller dokumentet.

Vi viser dig et eksempel på brug af MemoryStreamProvider nedenfor:

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 leverer teknisk support til alle sine produkter, fra vidensbaseartikler , dokumentation , blog , kodeeksempler , og demoer , til Gratis support samt højt tilgængelig Betalt support .
Hvis du har brug for eksperter, der kan arbejde sammen med dig og hjælpe dig med at implementere Aspose.HTML for Java efter dine behov, er den bedste løsning vores Betalt rådgivning .