Denne artikkelen viser deg hvordan du genererer PDF‑filer fra HTML ved hjelp av Java. Du kan enkelt manipulere og gjengi HTML‑dokumenter, inkludert CSS‑stiler.
Aspose.HTML for Java
gjør det mulig for applikasjonene dine å utføre et bredt spekter av HTML‑manipuleringsoppgaver og støtter HTML5, CSS3, SVG og HTML‑Canvas‑funksjoner. Med vårt API kan du laste inn websider, analysere, redigere innholdet og lagre 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
Rik sett med funksjoner
Aspose.HTML for Java tilbyr deg mange funksjoner innen ulike områder:
• Dokumentobjektmodell – lar deg redigere, opprette og fjerne noder, og er bygget i henhold til den offisielle HTML‑dokumentasjonen.
• Høy‑ytelses konverterere. For mer informasjon om støttede filformater, besøk Features List
eller Converting
artiklene.
• Behandling av CSS, JavaScript og andre innebygde formater.
Generer PDF fra HTML med en enkelt linje Java‑kode
Du kan enkelt generere PDF fra HTML i Java‑applikasjonen din med bokstavelig talt én linje kode ved å bruke de statiske metodene i Converter
‑klassen.
// 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 hjelp av Java
Nedenfor er trinnene for å generere PDF fra HTML linje for linje:
- Bruk HtmlDocument
‑klassen til å først laste HTML‑filen.
- Deretter opprett en instans av PdfSaveOptions
.
- Med ConvertHTML()
‑metoden i Converter
‑klassen lagrer du HTML som en PDF‑fil. Du må sende inn HTMLDocument
, PdfSaveOptions
og filstien for utdata til ConvertHTML()-metoden for å 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();
}
}
Tilpass gjengivelsesprosessen med lagringsalternativet
Du kan tilpasse gjengivelsesprosessen med PdfSaveOptions
, og angi page size
, file permissions
, margins
, CSS media type
og mye mer. I eksemplet nedenfor kan du se hvordan du bruker PdfSaveOptions og oppretter en PDF‑fil med egendefinert sidestørrelse og bakgrunnsfarge:
// 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 artikkelen Fine-Tuning Converters
finner du mer informasjon om PdfSaveOptions
.
Output‑strøm‑leverandør
Du kan implementere MemoryStreamProvider
‑grensesnittet hvis du vil lagre filer i ekstern lagring, som skyen eller en database.
MemoryStreamProvider‑grensesnittet er designet som et tilbakekall‑objekt for å opprette en strøm og frigjøre den tidlig opprettede strømmen etter at siden eller dokumentet er gjengitt.
Vi viser deg et eksempel på bruk av 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 tilbyr teknisk støtte for alle sine produkter, fra knowledge base articles
, documentation
, blog
, code samples
og demos
, til Free Support
samt høyt tilgjengelig Paid Support
.
Hvis du trenger eksperter som kan samarbeide med deg og hjelpe deg med å implementere Aspose.HTML for Java i henhold til dine behov, er den beste løsningen vår Paid Consulting
.