Rumah > Artikel > hujung hadapan web > Bagaimana untuk menukar PDF ke HTML? Analisis ringkas kaedah
Dengan kemunculan era digital, semakin banyak maklumat sedang didigitalkan, antaranya dokumen PDF adalah yang paling biasa. Walaupun dokumen PDF mempunyai kelebihan besar dalam penyeragaman silang platform dan pemformatan, mereka akan menghadapi kesukaran besar dalam paparan halaman web dan aktiviti carian. Oleh itu, menukar dokumen PDF ke dalam format HTML telah menjadi tugas yang perlu untuk menjadikan dokumen PDF lebih mudah untuk dipaparkan dan dikongsi di Internet.
Sebagai bahasa pengaturcaraan yang digunakan secara meluas, Java menyediakan banyak antara muka program aplikasi (API) untuk menukar PDF kepada HTML Artikel ini akan memperkenalkan dan membandingkan antara muka program aplikasi Java (API) untuk menukar PDF kepada HTML dan penggunaan Mengambil PDFBox, iText dan Apache FOP sebagai contoh, kami akan menerangkan secara terperinci cara menggunakan perpustakaan ini untuk menukar PDF kepada HTML.
1. Keperluan untuk menukar PDF kepada HTML
Dengan perkembangan budaya Internet, aplikasi Web telah menjadi semakin penting dalam kehidupan kita, dan penukaran PDF kepada Format HTML jelas telah menjadi keperluan yang diperlukan untuk aplikasi Web. Berikut ialah keperluan utama:
2. Perbandingan alat PDF dengan HTML
alat PDF ke HTML boleh dilaksanakan berdasarkan tiga rangka kerja yang biasa digunakan berikut:
3. PDFBox
Apache PDFBox ialah perpustakaan Java sumber terbuka untuk mengendalikan fail PDF. Dalam PDFBox, PDF disimpan sebagai teks biasa, PDFBox menghuraikan PDF ke dalam memori dan kemudian menjadikannya sebagai teks biasa. Memandangkan PDFBox tidak menyokong format dan susun atur yang kompleks, ia tidak sesuai untuk memproses fail PDF yang besar dan kompleks. Walau bagaimanapun, PDFBox menyokong eksport fon, warna, latar belakang, jadual dan pautan, jadi menukar PDF kepada HTML adalah mudah.
Contoh kod untuk PDFBox:
import java.io.IOException; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.text.PDFTextStripper; public class PDFtoHTML { public static void main(String[] args) throws IOException { PDDocument document = null; try { document = PDDocument.load(file); PDFTextStripper stripper = new PDFTextStripper(); String text = stripper.getText(document); System.out.println(text); } finally { if (document != null) { document.close(); } } } }
Dalam kod contoh ini, kelas PDFTextStripper digunakan untuk mengekstrak teks biasa daripada fail PDF. Atas dasar ini, anda juga boleh mengeksport elemen PDF seperti fon, warna, latar belakang, jadual dan pautan dengan menambahkan kod lain.
4. iText
iText ialah perpustakaan PDF Java komponen komersil yang menyokong penciptaan, pengubahsuaian dan pengekstrakan pelbagai fail PDF. iText telah membangunkan banyak alat penukaran PDF, salah satunya adalah untuk menukar fail PDF kepada HTML.
Untuk menukar fail PDF kepada HTML, anda boleh menggunakan kelas HTMLWorker dan kelas XMLWorker yang disediakan oleh iText. Kelas HTMLWorker menyediakan HTMLWriter yang boleh mengekstrak dan menukar teks, perenggan, senarai dan elemen HTML lain daripada dokumen PDF. Kelas XMLWorker menyediakan cara yang lebih fleksibel untuk mengendalikan fail XML, termasuk fail HTML.
Memandangkan iText boleh membaca teks terus daripada PDF dan menyimpannya ke fail HTML, proses penukaran adalah sangat mudah. Walau bagaimanapun, ia hanya mempunyai sokongan yang sangat baik untuk pemformatan asas dan tetapan taip, dan sokongan yang lemah untuk fail PDF yang rumit dan memerlukan operasi yang kompleks.
Contoh kod untuk iText:
import java.io.File; import java.io.FileOutputStream; import com.itextpdf.text.pdf.PdfReader; import com.itextpdf.text.pdf.parser.PdfTextExtractor; public class PDFtoHTML { public static void main( String[] args ) { try { String inputurl="pdf/demo.pdf"; String outputurl="html/demo.html"; File file=new File(outputurl); if(!file.exists()){ file.createNewFile(); } PdfReader reader=new PdfReader(inputurl); int totalpages=reader.getNumberOfPages(); StringBuffer buffer=new StringBuffer(); for(int i=1;i<=totalpages;i++){ buffer.append(PdfTextExtractor.getTextFromPage(reader,i)); } FileOutputStream fos=new FileOutputStream(outputurl); fos.write(buffer.toString().getBytes()); fos.flush(); fos.close(); reader.close(); } catch (Exception e) { e.printStackTrace(); } } }
Dalam kod contoh ini, kelas PdfReader digunakan untuk mengekstrak teks daripada fail PDF dan kemudian menyimpan teks terus ke fail HTML.
5. Apache FOP
Apache FOP ialah aplikasi Java untuk menghasilkan fail PDF. Ia boleh menukar fail XSL-FO kepada fail PDF. Apache FOP juga menyediakan fungsi menukar fail HTML kepada fail PDF sebagai pilihan lain untuk menukar PDF kepada HTML.
Memandangkan Apache FOP mempunyai sokongan yang baik untuk HTML dan XML, apabila menukar PDF kepada HTML, anda boleh menukarnya kepada XML dahulu dan kemudian menggunakan Apache FOP untuk menukarnya kepada HTML. Memandangkan XML ialah format teks yang ringkas dan berstruktur, sangat mudah untuk menggunakan penghurai Java untuk menghuraikan XML dan menukarnya kepada HTML. Walau bagaimanapun, menggunakan Apache FOP untuk memproses PDF kepada HTML selalunya memerlukan konfigurasi dan pemasangan yang lebih kompleks untuk mencapai hasil yang ideal.
Contoh kod untuk Apache FOP:
import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import javax.xml.transform.Result; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.sax.SAXResult; import javax.xml.transform.stream.StreamSource; import org.apache.fop.apps.FOUserAgent; import org.apache.fop.apps.Fop; import org.apache.fop.apps.FopFactory; import org.apache.fop.apps.MimeConstants; public class PDFtoHTML { public static void main(String[] args) throws Exception { File xsltFile = new File("myXslt.xslt"); File xmlFile = new File("myXml.xml"); File htmlFile = new File("myHtml.html"); FopFactory fopFactory = FopFactory.newInstance(); FOUserAgent foUserAgent = fopFactory.newFOUserAgent(); OutputStream out = new FileOutputStream(htmlFile); try { Fop fop = fopFactory.newFop(MimeConstants.MIME_HTML, foUserAgent, out); TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer = factory.newTransformer(new StreamSource(xsltFile)); Result res = new SAXResult(fop.getDefaultHandler()); transformer.transform(new StreamSource(xmlFile), res); } finally { out.close(); } } }
Dalam contoh ini, FopFactory digunakan untuk membuka tika Fop, menukar input XML kepada PDF, dan kemudian menjana fail HTML. Semasa proses penukaran, anda juga boleh menggunakan lembaran gaya XSL untuk mengawal output HTML.
6. Kesimpulan
Artikel ini memperkenalkan rangka kerja utama dan API yang berkaitan untuk penukaran PDF kepada HTML menggunakan Java, termasuk PDFBox, iText dan Apache FOP. Dalam amalan, memilih perpustakaan yang sesuai dengan anda memerlukan pertimbangan menyeluruh berdasarkan keperluan anda sendiri. Jika anda perlu mengekstrak teks secara individu, PDFBox mungkin lebih sesuai jika anda perlu memilih dan mengeksport elemen yang berbeza dalam PDF, iText ialah pilihan pertama jika anda ingin menukar PDF kepada HTML yang sempurna, Apache FOP ialah penyelesaian yang lebih komprehensif .
Dalam praktiknya, jika anda perlu melakukan operasi yang lebih kompleks pada PDF, seperti mengubah suai reka letak, menambah ulasan atau menyelesaikan masalah, anda perlu menggunakan alat dan teknik yang lebih canggih, termasuk Adobe Acrobat dan paparan PDF yang disesuaikan sepenuhnya peranti. Walau bagaimanapun, untuk kebanyakan situasi penukaran PDF kepada HTML, adalah sangat mudah untuk menggunakan alat penukaran PDF kepada HTML yang disediakan oleh perpustakaan Java.
Atas ialah kandungan terperinci Bagaimana untuk menukar PDF ke HTML? Analisis ringkas kaedah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!