Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menukar fail HTML kepada fail PDF dalam Java

Bagaimana untuk menukar fail HTML kepada fail PDF dalam Java

PHPz
PHPzasal
2023-04-21 11:27:463716semak imbas

Dengan kemunculan era Internet, halaman web semakin menjadi saluran utama untuk orang ramai mendapatkan maklumat. Walau bagaimanapun, maklumat pada halaman web tidak boleh disimpan di luar talian, dan kadangkala pengguna perlu melihat kandungan web tanpa sambungan rangkaian. Pada masa ini, menukar halaman web kepada fail PDF menjadi pilihan yang baik.

Di antara banyak perisian, Java mempunyai keupayaan penjanaan PDF yang agak berkuasa dan menyediakan pembangun dengan banyak perpustakaan operasi PDF. Di bawah, artikel ini akan memperkenalkan cara menukar fail HTML kepada fail PDF dalam Java.

1. Prinsip menukar HTML kepada PDF

HTML ialah singkatan Bahasa Penanda Hiperteks, bahasa penanda standard yang digunakan untuk membuat halaman web. Fail HTML pada asasnya terdiri daripada teks dan bahasa penanda, yang boleh dikenali dan dibina oleh penghurai HTML untuk membina pepohon rendering, yang akhirnya dipaparkan pada halaman web.

PDF (Format Dokumen Mudah Alih) ialah format dokumen mudah alih yang dibangunkan oleh Adobe Ia boleh dipaparkan merentasi platform dan mengekalkan kandungan dan format asal dokumen tidak berubah. Tidak seperti HTML, PDF ialah format dokumen statik yang kandungannya dibetulkan.

Oleh itu, intipati menukar fail HTML kepada fail PDF adalah untuk menjadikan kandungan HTML dinamik ke dalam dokumen PDF statik, yang perlu menyelesaikan masalah pokok pemaparan HTML yang berbeza dan reka letak halaman PDF.

2. Gunakan iText untuk menukar HTML kepada PDF

iText ialah perpustakaan generasi PDF Java yang boleh menggunakan kod Java untuk menjana dokumen PDF. Kelebihan iText terletak pada APInya yang pelbagai dan pelbagai aplikasi, termasuk penciptaan PDF, penggabungan, pemotongan, penyulitan, pengekstrakan teks dan operasi lain. Seterusnya, kami akan menggunakan perpustakaan kelas iText untuk melaksanakan fungsi HTML kepada PDF.

  1. Tambah kebergantungan

Mula-mula anda perlu menambah kebergantungan perpustakaan kelas iText pada projek, maven:

<dependency>
   <groupId>com.itextpdf</groupId>
   <artifactId>itextpdf</artifactId>
   <version>5.5.13</version>
</dependency>
  1. Tulis Kod Java , sedar fungsi menukar HTML kepada PDF

Berikut ialah contoh kod Java:

import java.io.File;
import java.io.FileOutputStream;
import com.itextpdf.text.Document;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.html.simpleparser.HTMLWorker;
import com.itextpdf.text.pdf.PdfWriter;

public class HtmlToPdfUtil {
    private static final String CHARSET = "UTF-8";

    /**
     * 将HTML内容转换为PDF文档
     * 
     * @param htmlContent HTML内容
     * @param filePath    PDF输出路径
     * @throws Exception
     */
    public static void convertHtmlToPdf(String htmlContent, String filePath) throws Exception {
        Document document = new Document(PageSize.A4, 20, 20, 20, 20);
        PdfWriter.getInstance(document, new FileOutputStream(new File(filePath)));
        document.open();
        HTMLWorker htmlWorker = new HTMLWorker(document);
        // 解析HTML文件
        htmlWorker.parse(new StringReader(htmlContent));
        document.close();
    }
}

Kod di atas mencipta objek dokumen PDF melalui API yang disediakan oleh iText, membuka dokumen dan menetapkan Saiz halaman PDF, tetapkan laluan output PDF. Kemudian, gunakan kaedah parse kelas HTMLWorker untuk menghuraikan dan menambah kandungan dalam fail HTML pada dokumen PDF, dan akhirnya menutup dokumen itu.

3. Ringkasan

Artikel ini memperkenalkan cara Java menukar fail HTML kepada fail PDF melalui iText dan menukarnya menjadi dokumen PDF statik untuk menyimpan kandungan halaman web di luar talian. HTML kepada PDF ialah kaedah penukaran dokumen yang biasa digunakan, yang mempunyai nilai aplikasi praktikal untuk pengguna yang perlu melihat kandungan web dalam persekitaran luar talian.

Atas ialah kandungan terperinci Bagaimana untuk menukar fail HTML kepada fail PDF dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn