Artikel ini akan menunjukkan cara menjana PDF daripada HTML menggunakan Java. Anda boleh dengan mudah memanipulasi dan memaparkan dokumen HTML termasuk gaya CSS.
Aspose.HTML untuk Java
membolehkan aplikasi anda melaksanakan pelbagai tugas manipulasi HTML serta menyokong ciri‑ciri HTML5, CSS3, SVG, dan HTML Canvas. Dengan API kami anda boleh memuat halaman web, menganalisis, menyunting kandungan, serta menyimpan dan menukar halaman.
Format popular yang boleh anda manipulasi: XHTML, MHTML, SVG, MD, PDF, XPS, EPUB, PNG, TIFF, JPEG, BMP, dan lain‑lain.
PDF dari HTML dalam Java
Set ciri yang kaya
Aspose.HTML untuk Java menawarkan banyak ciri dalam pelbagai bidang:
• Model objek dokumen – membolehkan anda menyunting, mencipta dan membuang nod, serta dibina mengikut dokumentasi rasmi HTML.
• Penukar berprestasi tinggi. Untuk maklumat lanjut mengenai format fail yang disokong, lawati Senarai Ciri
atau artikel Penukaran
.
• Pemprosesan CSS, JavaScript, dan format terbina dalam lain.
Jana PDF dari HTML dengan satu baris kod Java
Anda boleh dengan mudah menjana PDF daripada HTML dalam aplikasi Java anda dengan hanya satu baris kod menggunakan kaedah statik kelas Penukar
.
// 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"
);
Jana PDF dari HTML baris demi baris menggunakan Java
Berikut ialah langkah‑langkah untuk menjana PDF daripada HTML baris demi baris:
- Menggunakan kelas HtmlDocument
terlebih dahulu muatkan fail HTML.
- Selepas itu cipta contoh PdfSaveOptions
.
- Dengan kaedah ConvertHTML()
kelas Penukar
simpan HTML sebagai fail PDF. Anda perlu menghantar HTMLDocument
, PdfSaveOptions
, dan laluan fail output kepada kaedah ConvertHTML() untuk menjana PDF daripada 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();
}
}
Sesuaikan proses rendering dengan pilihan Save
Anda boleh menyesuaikan proses rendering dengan PdfSaveOptions
, serta menentukan saiz halaman
, kebenaran fail
, margins
, jenis media CSS
, dan banyak lagi. Dalam contoh di bawah anda dapat melihat cara menggunakan PdfSaveOptions untuk mencipta fail PDF dengan saiz halaman tersuai dan warna latar belakang:
// 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"
);
Dalam artikel Penalaan Halus Penukar
, anda boleh menemui maklumat lanjut mengenai PdfSaveOptions
.
Penyedia aliran output
Anda boleh melaksanakan antara muka MemoryStreamProvider
jika ingin menyimpan fail dalam storan jauh, seperti awan atau pangkalan data.
Antara muka MemoryStreamProvider direka sebagai objek panggilan balik untuk mencipta aliran dan melepaskan aliran yang dicipta lebih awal selepas rendering halaman atau dokumen.
Kami akan menunjukkan contoh penggunaan MemoryStreamProvider di bawah:
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 menyediakan sokongan teknikal untuk semua produknya, termasuk artikel pangkalan pengetahuan
, dokumentasi
, blog
, sampel kod
, dan demo
, serta Sokongan Percuma
dan Sokongan Berbayar
.
Jika anda memerlukan pakar yang akan bekerjasama dengan anda serta membantu melaksanakan Aspose.HTML untuk Java mengikut keperluan anda, penyelesaian terbaik ialah Perundingan Berbayar
.