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:
- Brug klassen HtmlDocument
til først at indlæse HTML‑filen.
- Opret derefter en forekomst af PdfSaveOptions
.
- 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
.