Tässä artikkelissa näytetään, miten luodaan PDF-tiedostoja HTML:stä Javaa käyttäen. Voit helposti muokata ja renderöidä HTML-dokumentteja mukaan lukien CSS-tyylit.
Aspose.HTML for Java
mahdollistaa sovellustesi suorittaa laajan valikoiman HTML-manipulaatiotehtäviä ja tukee HTML5-, CSS3-, SVG- ja HTML Canvas -ominaisuuksia. API:llamme voit ladata verkkosivuja, analysoida, muokata sisältöä sekä tallentaa ja muuntaa sivuja.
Suositut muotoilut, joita voit käsitellä: XHTML, MHTML, SVG, MD, PDF, XPS, EPUB, PNG, TIFF, JPEG, BMP ja muut.
PDF HTML:stä Javassa
Laaja ominaisuuksien valikoima
Aspose.HTML for Java tarjoaa sinulle paljon ominaisuuksia monilla eri alueilla:
• Document object model – mahdollistaa solmujen muokkaamisen, luomisen ja poistamisen, ja se on rakennettu virallisen HTML-dokumentaation mukaisesti.
• Korkean suorituskyvyn muuntimet. Lisätietoja tuetuista tiedostomuodoista saat käymällä Features List
tai Converting
-artikkeleissa.
• CSS:n, JavaScriptin ja muiden sisäänrakennettujen formaattien käsittely.
Luo PDF HTML:stä yhdellä Java-rivillä
Voit helposti luoda PDF:n HTML:stä Java-sovelluksessasi kirjaimellisesti yhdellä koodirivillä käyttämällä Converter
‑luokan staattisia metodeja.
// 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"
);
Luo PDF HTML:stä rivi riviltä Javaa käyttäen
Alla on vaiheet PDF:n luomiseksi HTML:stä rivi riviltä:
- Käytä HtmlDocument
‑luokkaa ladataksesi ensin HTML‑tiedosto.
- Tämän jälkeen luo instanssi PdfSaveOptions
‑luokasta.
- Käytä ConvertHTML()
‑metodia Converter
‑luokasta tallentaaksesi HTML:n PDF‑tiedostona. Sinun tulee antaa [HTMLDocument]‑objekti, [PdfSaveOptions]‑objekti ja tulostiedoston polku ConvertHTML()‑metodille PDF:n luomiseksi HTML:stä.
// 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();
}
}
Mukauta renderöintiprosessia Save-asetuksella
Voit mukauttaa renderöintiprosessia käyttäen [PdfSaveOptions]‑asetuksia ja määrittää [page size]‑sivukoon, [file permissions]‑tiedostojen käyttöoikeudet, [margins]‑reunukset, [CSS media type]‑CSS‑mediatyypin ja monia muita asetuksia. Alla olevassa esimerkissä näet, miten PdfSaveOptions‑asetuksia käytetään PDF‑tiedoston luomiseen mukautetulla sivukoolla ja taustavärillä:
// 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"
);
[Fine-Tuning Converters]‑artikkelissa voit löytää lisätietoja [PdfSaveOptions]‑asetuksista.
Output-virran tarjoaja
Voit toteuttaa [MemoryStreamProvider]‑rajapinnan, jos haluat tallentaa tiedostoja etävarastoon, kuten pilveen tai tietokantaan.
MemoryStreamProvider‑rajapinta on suunniteltu palautekutsuksi, jonka avulla luodaan virta ja vapautetaan aikaisemmin luotu virta renderöinnin jälkeen sivun tai asiakirjan osalta.
Näytämme sinulle esimerkin MemoryStreamProviderin käytöstä alla:
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 tarjoaa teknistä tukea kaikille tuotteilleen, mukaan lukien [knowledge base articles], [documentation], [blog], [code samples] ja [demos], sekä [Free Support] ja erittäin saatavilla oleva [Paid Support].
Jos tarvitset asiantuntijoita, jotka työskentelevät kanssasi ja auttavat toteuttamaan Aspose.HTML for Java -ratkaisun tarpeidesi mukaan, paras ratkaisu on meidän [Paid Consulting].