Tento článek vám ukáže, jak generovat PDF z HTML pomocí Javy. Můžete snadno manipulovat a vykreslovat HTML dokumenty včetně CSS stylů.
Aspose.HTML for Java
umožňuje vašim aplikacím provádět širokou škálu úkolů manipulace s HTML a podporuje funkce HTML5, CSS3, SVG a HTML Canvas. S naším API můžete načíst webové stránky, analyzovat, upravovat obsah a ukládat a převádět stránky.
Populární formáty, které můžete manipulovat: XHTML, MHTML, SVG, MD, PDF, XPS, EPUB, PNG, TIFF, JPEG, BMP a další.
PDF from HTML in Java
Bohatá sada funkcí
Aspose.HTML for Java vám nabízí mnoho funkcí v různých oblastech:
• Document object model – umožňuje upravovat, vytvářet a odstraňovat uzly a je postaven podle oficiální dokumentace HTML.
• Vysoce výkonné převodníky. Pro více informací o podporovaných formátech souborů navštivte Seznam funkcí
nebo články o Převodu
.
• Zpracování CSS, JavaScriptu a dalších vestavěných formátů.
Generování PDF z HTML jedním řádkem kódu v Javě
Můžete snadno generovat PDF z HTML ve své Java aplikaci doslova jedním řádkem kódu pomocí statických metod třídy 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"
);
Generování PDF z HTML řádek po řádku pomocí Javy
Níže jsou kroky pro generování PDF z HTML řádek po řádku:
- Pomocí třídy HtmlDocument
nejprve načtěte HTML soubor.
- Poté vytvořte instanci PdfSaveOptions
.
- Pomocí metody ConvertHTML()
třídy Converter
uložte HTML jako PDF soubor. Budete muset předat HTMLDocument
, PdfSaveOptions
a cestu k výstupnímu souboru metodě ConvertHTML(), aby se vygenerovalo PDF z 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();
}
}
Přizpůsobení procesu vykreslování pomocí volby Save
Můžete přizpůsobit proces vykreslování pomocí PdfSaveOptions
a specifikovat velikost stránky
, oprávnění souboru
, okraje
, typ média CSS
a mnoho dalšího. V níže uvedeném příkladu můžete vidět, jak použít PdfSaveOptions a vytvořit PDF soubor s vlastní velikostí stránky a barvou pozadí:
// 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"
);
V článku Fine-Tuning Converters
najdete více informací o PdfSaveOptions
.
Poskytovatel výstupního proudu
Můžete implementovat rozhraní MemoryStreamProvider
, pokud chcete ukládat soubory do vzdáleného úložiště, například do cloudu nebo databáze.
Rozhraní MemoryStreamProvider je navrženo jako zpětné volání pro vytvoření proudu a uvolnění dříve vytvořeného proudu po vykreslení stránky nebo dokumentu.
Ukážeme vám příklad použití MemoryStreamProvider níže:
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 poskytuje technickou podporu pro všechny své produkty, od článků znalostní báze
, dokumentace
, blogu
, ukázek kódu
, a demo verzí
, až po bezplatnou podporu
i vysoce dostupnou placenou podporu
.
Pokud potřebujete odborníky, kteří s vámi budou spolupracovat a pomohou vám implementovat Aspose.HTML for Java podle vašich potřeb, nejlepší řešení je naše Placené poradenství
.