Denna artikel visar hur du genererar PDF-filer från HTML med Java. Du kan enkelt manipulera och rendera HTML-dokument inklusive CSS-stilar.
Aspose.HTML för Java
möjliggör för dina applikationer att utföra ett brett spektrum av HTML-manipuleringsuppgifter och stödjer HTML5, CSS3, SVG och HTML Canvas-funktioner. Med vårt API kan du ladda webbsidor, analysera, redigera innehållet samt spara och konvertera sidor.
Populära format som du kan manipulera: XHTML, MHTML, SVG, MD, PDF, XPS, EPUB, PNG, TIFF, JPEG, BMP och andra.
PDF från HTML i Java
Rik uppsättning funktioner
Aspose.HTML för Java erbjuder dig många funktioner inom flera olika områden:
• Dokumentobjektmodell – gör det möjligt att redigera, skapa och ta bort noder och är byggd enligt den officiella HTML-dokumentationen.
• Högpresterande konverterare. För mer information om stödda filformat, besök artiklarna Funktionslista
eller Konvertering
.
• Bearbetning av CSS, JavaScript och andra inbyggda format.
Generera PDF från HTML med en enda rad Java-kod
Du kan enkelt generera PDF från HTML i din Java-applikation med bokstavligen en enda kodrad genom att använda de statiska metoderna 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"
);
Generera PDF från HTML rad för rad med Java
Nedan följer stegen för att generera PDF från HTML rad för rad:
- Använd klassen HtmlDocument
för att först ladda HTML-filen.
- Skapa därefter en instans av PdfSaveOptions
.
- Med metoden ConvertHTML()
i klassen Converter
sparar du HTML som en PDF-fil. Du måste skicka HTMLDocument
, PdfSaveOptions
och sökvägen för utdatafilen till ConvertHTML()-metoden för att generera PDF från 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();
}
}
Anpassa renderingsprocessen med sparalternativet
Du kan anpassa renderingsprocessen med PdfSaveOptions
, och ange sidstorlek
, filbehörigheter
, marginaler
, CSS-medietyp
och mycket mer. I exemplet nedan kan du se hur du använder PdfSaveOptions för att skapa en PDF-fil med anpassad sidstorlek och bakgrundsfärg:
// 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 artikeln Finjustering av konverterare
kan du hitta mer information om PdfSaveOptions
.
Utdata‑strömleverantör
Du kan implementera gränssnittet MemoryStreamProvider
om du vill spara filer i fjärrlagring, såsom molnet eller en databas.
MemoryStreamProvider‑gränssnittet är utformat som ett återuppringningsobjekt för att skapa en ström och frigöra den tidigt skapade strömmen efter att sidan eller dokumentet har renderats.
Vi visar dig ett exempel på hur du använder MemoryStreamProvider nedan:
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 erbjuder teknisk support för alla sina produkter, från kunskapsbasartiklar
, dokumentation
, blogg
, kodexempel
, och demoar
, till gratis support
samt mycket tillgänglig betald support
.
Om du behöver experter som samarbetar med dig och hjälper dig att implementera Aspose.HTML för Java enligt dina behov, är den bästa lösningen vår betalda konsultation
.