Šiame straipsnyje sužinosite, kaip generuoti PDF iš HTML naudojant Java. Galėsite lengvai manipuliuoti ir atvaizduoti HTML dokumentus, įskaitant CSS stilius.
Aspose.HTML for Java
leidžia jūsų programoms atlikti platų HTML manipuliavimo užduočių spektrą ir palaiko HTML5, CSS3, SVG bei HTML Canvas funkcijas. Su mūsų API galite įkelti tinklalapius, analizuoti, redaguoti turinį ir išsaugoti bei konvertuoti puslapius.
Populiarios formatai, kuriuos galite manipuliuoti: XHTML, MHTML, SVG, MD, PDF, XPS, EPUB, PNG, TIFF, JPEG, BMP ir kt.
PDF iš HTML Java
Turtingas funkcijų rinkinys
Aspose.HTML for Java siūlo daugybę funkcijų įvairiose srityse:
• Dokumento objektų modelis – leidžia redaguoti, kurti ir pašalinti mazgus, ir yra sukurtas pagal oficialią HTML dokumentaciją.
• Aukštos našumo konverteriai. Daugiau informacijos apie palaikomus failų formatus rasite Funkcijų sąraše
arba Konvertavimo
straipsniuose.
• CSS, JavaScript ir kitų įmontuotų formatų apdorojimas.
Generuoti PDF iš HTML vienu Java kodo eilute
Galite lengvai generuoti PDF iš HTML savo Java programoje tiesiog vienu kodo eilute, naudodami statinius Converter
klasės metodus.
// 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"
);
Generuoti PDF iš HTML eilutė po eilutės naudojant Java
Žemiau pateikiami žingsniai, kaip generuoti PDF iš HTML eilutė po eilutės:
- Naudodami HtmlDocument
klasę pirmiausia įkelkite HTML failą.
- Po to sukurkite PdfSaveOptions
egzempliorių.
- Naudodami ConvertHTML()
metodą iš Converter
klasės išsaugokite HTML kaip PDF failą. Turėsite perduoti HTMLDocument
, PdfSaveOptions
ir išvesties failo kelią į ConvertHTML() metodą, kad sukurtumėte PDF iš 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();
}
}
Pritaikykite atvaizdavimo procesą naudodami Save parinktį
Galite pritaikyti atvaizdavimo procesą naudodami PdfSaveOptions
, nurodydami puslapio dydį
, failo teises
, paraštes
, CSS medijos tipą
ir daugelį kitų. Žemiau pateiktame pavyzdyje matote, kaip naudoti PdfSaveOptions ir sukurti PDF failą su pasirinktu puslapio dydžiu ir fono spalva:
// 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"
);
Straipsnyje Fine-Tuning Converters
galite rasti daugiau informacijos apie PdfSaveOptions
.
Išvesties srauto tiekėjas
Jei norite saugoti failus nuotolinėje saugykloje, pvz., debesyje arba duomenų bazėje, galite įgyvendinti MemoryStreamProvider
sąsają.
MemoryStreamProvider sąsaja sukurta kaip atgalinio iškvietimo objektas, kuris sukuria srautą ir atlaisvina anksti sukurtą srautą po puslapio arba dokumento atvaizdavimo.
Žemiau pateikiame pavyzdį, kaip naudoti 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 teikia techninę pagalbą visiems savo produktams, pradedant žinių bazės straipsniais
, dokumentacija
, tinklaraščiu
, kodo pavyzdžiais
, ir demo versijomis
, iki Nemokamos pagalbos
bei plačiai prieinamos Mokamos pagalbos
.
Jei jums reikia ekspertų, kurie dirbtų kartu su jumis ir padėtų įgyvendinti Aspose.HTML for Java pagal jūsų poreikius, geriausias sprendimas – mūsų Mokama konsultacija
.