Java PDF ke HTML: Gunakan perpustakaan sumber terbuka untuk menukar PDF kepada format mesra Web
Sebagai format dokumen elektronik yang popular, fail PDF digunakan secara meluas dalam kehidupan seharian kita. Walau bagaimanapun, dalam pembangunan web, menyepadukan fail PDF dengan tapak web sentiasa menjadi tugas yang sukar. Walaupun fail PDF boleh dirujuk sebagai fail yang dimuat turun, borang ini tidak kondusif untuk pengalaman pengguna dan pengoptimuman enjin carian (SEO). Oleh itu, dalam banyak kes, kita perlu menukar fail PDF kepada format HTML untuk membenamkannya ke dalam tapak web dan menjadikannya sesuai untuk keperluan halaman web. Artikel ini akan memperkenalkan cara menggunakan bahasa pengaturcaraan Java dan beberapa perpustakaan sumber terbuka untuk mencapai penukaran PDF kepada HTML.
1. Pustaka sumber terbuka digunakan
Secara amnya, terdapat dua cara untuk menukar fail PDF kepada HTML: satu ialah menggunakan pdf.js; . Dalam artikel ini, kami memilih untuk menggunakan perpustakaan sumber terbuka. Khususnya, artikel ini akan menggunakan perpustakaan sumber terbuka berikut:
iText: Ini ialah perpustakaan sumber terbuka untuk membuat dan memproses fail PDF. Ia menyediakan beberapa API yang membolehkan kami mengakses semua elemen fail PDF (seperti teks, jadual, imej, dll.). iText menyokong penukaran fail PDF, termasuk menukar fail PDF kepada format HTML dan XML.
Apache PDFBox: Ini ialah perpustakaan Java untuk memproses fail PDF. Ia menyokong penghuraian, mencipta, mengisi dan menukar fail PDF. PDFBox menyokong penukaran fail PDF kepada format HTML, XML dan imej. Dalam artikel ini, kami akan menggunakan PDFBox untuk menukar PDF kepada format HTML.
2. Pasang dan konfigurasikan perpustakaan sumber terbuka
Sebelum menggunakan iText dan PDFBox, kami perlu menambah fail perpustakaan mereka pada projek kami. Dalam artikel ini, kami akan menggunakan Maven untuk mengurus kebergantungan kami. Dalam fail pom.xml, tambahkan kebergantungan berikut pada projek kami:
<dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.13</version> </dependency> <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.22</version> </dependency>
Kebergantungan ini akan dimuat turun secara automatik dan ditambahkan pada projek kami. Dalam kod kami, kami perlu mengimport pakej berkaitan (seperti com.itextpdf, dll.).
3. Tukar PDF kepada HTML
Setelah kami mengimport iText dan PDFBox dalam projek, kami boleh menukar fail PDF kepada fail HTML dengan kod berikut:
public static void pdfToHtml(String pdfFilePath, String htmlFilePath) throws IOException { File pdfFile = new File(pdfFilePath); PDDocument document = PDDocument.load(pdfFile); if (!document.isEncrypted()) { Writer output = new PrintWriter(htmlFilePath, "utf-8"); new PDFDomTree().writeText(document, output); output.close(); } document.close(); }
In fungsi ini, kami mula-mula mencipta objek PDDocument daripada fail PDF. Seterusnya, kami menggunakan PDFDomTree untuk menukar objek PDDocument menjadi rentetan HTML. Akhir sekali, kami menulis rentetan HTML pada fail.
Perlu diambil perhatian bahawa jika fail PDF disulitkan, kami tidak boleh menukarnya kepada format HTML. Dalam kes ini, kita perlu membuka fail PDF dengan kata laluan dan menyahsulitnya. Di sini kita boleh menggunakan fungsi openProtection() PDDocument untuk menyahsulit fail PDF.
4. Contoh lengkap
Kod berikut menunjukkan cara menukar fail PDF yang ditentukan kepada fail HTML:
import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.io.Writer; import org.apache.pdfbox.pdmodel.PDDocument; import org.fit.pdfdom.PDFDomTree; public class PdfToHtml { public static void main(String[] args) throws IOException { String pdfFilePath = "path/to/pdf/file.pdf"; String htmlFilePath = "path/to/html/file.html"; pdfToHtml(pdfFilePath, htmlFilePath); } public static void pdfToHtml(String pdfFilePath, String htmlFilePath) throws IOException { File pdfFile = new File(pdfFilePath); PDDocument document = PDDocument.load(pdfFile); // 如果PDF文件是加密的,解密它 if (document.isEncrypted()) { document.openProtection(null); } Writer writer = new PrintWriter(htmlFilePath, "utf-8"); new PDFDomTree().writeText(document, writer); writer.close(); document.close(); } }
Dalam contoh ini, kami akan menukar PDF The path ke fail dan laluan ke fail HTML yang akan dikeluarkan dihantar ke fungsi pdfToHtml(). Jika fail PDF disulitkan, kami akan menggunakan fungsi document.openProtection() untuk menyahsulitnya.
5. Kesimpulan
Dalam artikel ini, kami memperkenalkan cara menukar fail PDF kepada format HTML menggunakan iText dan PDFBox. Menukar PDF kepada HTML ialah kaedah yang menarik kerana ia meningkatkan pengalaman pengguna dan meningkatkan pengoptimuman enjin carian. Untuk mencapai matlamat ini, kita perlu menggunakan beberapa perpustakaan sumber terbuka seperti iText dan PDFBox. Perpustakaan ini menyediakan API yang sesuai untuk penukaran fail PDF yang pantas dan boleh dipercayai. Pada masa yang sama, kita harus ambil perhatian bahawa menukar PDF kepada HTML boleh memusnahkan format dokumen atau menyebabkan ralat dalam dokumen. Oleh itu, dalam penggunaan sebenar, kita harus memilih alat dan kaedah yang sesuai untuk menyelesaikan masalah ini.
Atas ialah kandungan terperinci java pdf ke html. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!