Bagaimana untuk menukar html ke pdf di Java
Dalam beberapa tahun kebelakangan ini, dengan kemajuan pendigitalan yang berterusan, permintaan untuk dokumen elektronik telah menjadi lebih tinggi dan lebih tinggi. Dalam kerja sebenar, kita sering perlu menukar fail HTML kepada fail PDF, dan dalam proses ini kita perlu menggunakan teknologi pengaturcaraan Java. Artikel ini akan memperkenalkan kaedah pelaksanaan Java untuk menukar HTML kepada PDF daripada tiga aspek berikut:
1 Gunakan iText untuk menukar HTML kepada PDF
iText ialah perpustakaan PDF Java yang popular yang boleh menukar. HTML kepada PDF. iText menghuraikan fail HTML dan membina semula halaman menggunakan bahasa penanda PDF. Berikut ialah kod utama untuk menggunakan iText untuk menukar HTML kepada PDF:
Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("output.pdf")); document.open(); HTMLWorker htmlWorker = new HTMLWorker(document); String html = "<html><head></head><body><p>Hello World</p></body></html>"; htmlWorker.parse(new StringReader(html)); document.close();
Kod di atas mencipta objek Document untuk menjana fail PDF, dan kemudian menggunakan PDFWriter untuk menulis objek Document ke dalam aliran output ke menjana dokumen PDF. HTMLWorker kemudiannya digunakan untuk menghuraikan dokumen HTML dan menambahkannya ke halaman PDF. Akhir sekali, tutup objek Dokumen untuk melengkapkan penjanaan fail PDF.
2. Gunakan Flying Saucer untuk menukar HTML kepada PDF
Satu lagi alat Java yang boleh digunakan untuk menukar HTML kepada PDF ialah Flying Saucer. Ia adalah pemapar PDF sumber terbuka dan percuma yang boleh menukar HTML kepada dokumen format PDF. Berikut ialah contoh kod untuk menukar HTML kepada PDF menggunakan Flying Saucer:
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = documentBuilderFactory.newDocumentBuilder(); Document document = builder.parse(new InputSource(new StringReader(htmlContent))); ITextRenderer iTextRenderer = new ITextRenderer(); iTextRenderer.setDocument(document, null); iTextRenderer.layout(); OutputStream outputStream = new FileOutputStream("output.pdf"); iTextRenderer.createPDF(outputStream); outputStream.close();
Kod di atas terlebih dahulu menghuraikan dokumen HTML dan membacanya ke dalam Dokumen. Kemudian, gunakan kaedah susun atur() ITextRenderer untuk menyusun dokumen. Akhir sekali, gunakan kaedah createPDF() untuk menjana fail PDF ke dalam outputStream.
3. Gunakan PDFBox untuk menukar HTML kepada PDF
PDFBox ialah perpustakaan PDF Java sumber terbuka yang popular yang menyediakan banyak alatan untuk mencipta dan memproses fail PDF. Ia juga menyediakan beberapa kod contoh HTML ke PDF, kod sampel lengkap boleh dilihat di sini.
Berikut ialah contoh kod untuk penukaran HTML kepada PDF menggunakan PDFBox:
PDDocument document = new PDDocument(); PDPage page = new PDPage(); document.addPage(page); PDPageContentStream contentStream = new PDPageContentStream(document, page); PDRectangle mediaBox = page.getMediaBox(); float margin = 72; float startX = mediaBox.getLowerLeftX() + margin; float startY = mediaBox.getUpperRightY() - margin; float width = mediaBox.getWidth() - 2 * margin; String html = "<html><head></head><body><p>Hello World!</p></body></html>"; ByteArrayInputStream bais = new ByteArrayInputStream(html.getBytes()); InputStreamReader isr = new InputStreamReader(bais); COSDocument cosDoc = new COSDocument(); PDFOperator.reset(); PDPageTree pageTree = new PDPageTree(); PDDOMParser parser = new PDDOMParser(cosDoc); parser.parse(isr); PDDocumentOutline outline = new PDDocumentOutline(); document.getDocumentCatalog().setDocumentOutline(outline.getRootNode()); PDOutlineItem item = new PDOutlineItem(); item.setTitle("PDFBox"); PDOutlineItem childItem = new PDOutlineItem(); childItem.setTitle("Hello World 2"); item.addLast(childItem); outline.getRootNode().addLast(item); PDAcroForm form = new PDAcroForm(cosDoc); document.getDocumentCatalog().setAcroForm(form); PDPageContentStream cs = new PDPageContentStream(document, page); PDFTextStripper stripper = new PDFTextStripper(); stripper.setStartPage(0); stripper.setEndPage(1); String text = stripper.getText(document); cs.beginText(); cs.setFont(PDType1Font.COURIER, 14); cs.drawString(text, 100, 100); cs.endText(); contentStream.close(); document.save("output.pdf"); document.close();
Kod di atas mula-mula mencipta objek PDDocument dan menambah halaman baharu padanya. Kemudian, objek PDPageContentStream dicipta yang digunakan untuk melukis kandungan pada halaman. Seterusnya, gunakan PDDOMParser untuk menghuraikan HTML ke dalam objek COSDocument. Akhir sekali, kandungan ditulis ke aliran output untuk menghasilkan fail PDF.
Ringkasan
HTML ke PDF mempunyai rangkaian aplikasi yang sangat luas dalam proses pengeluaran sebenar, dan tugas penting ini boleh dicapai dengan mudah melalui pengaturcaraan Java. Artikel ini memperkenalkan cara menukar HTML kepada PDF menggunakan tiga alatan: iText, Flying Saucer dan PDFBox. Walau apa pun keadaannya, pembangunan boleh dibuat dengan lebih pantas dan mudah dengan memilih kaedah yang paling sesuai dengan keperluan projek anda.
Atas ialah kandungan terperinci Bagaimana untuk menukar html ke pdf di Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Artikel ini membincangkan useeffect dalam React, cangkuk untuk menguruskan kesan sampingan seperti pengambilan data dan manipulasi DOM dalam komponen berfungsi. Ia menerangkan penggunaan, kesan sampingan yang biasa, dan pembersihan untuk mencegah masalah seperti kebocoran memori.

Lazy memuatkan kelewatan memuatkan kandungan sehingga diperlukan, meningkatkan prestasi web dan pengalaman pengguna dengan mengurangkan masa beban awal dan beban pelayan.

Artikel ini membincangkan kari dalam JavaScript, teknik yang mengubah fungsi multi-argumen ke dalam urutan fungsi argumen tunggal. Ia meneroka pelaksanaan kari, faedah seperti aplikasi separa, dan kegunaan praktikal, meningkatkan kod baca

Fungsi pesanan yang lebih tinggi dalam JavaScript meningkatkan ketabahan kod, kebolehgunaan semula, modulariti, dan prestasi melalui abstraksi, corak umum, dan teknik pengoptimuman.

Artikel ini menerangkan algoritma perdamaian React, yang dengan cekap mengemas kini DOM dengan membandingkan pokok DOM maya. Ia membincangkan manfaat prestasi, teknik pengoptimuman, dan kesan terhadap pengalaman pengguna. Kira -kira: 159

Artikel membincangkan penyambungan komponen reaksi ke kedai redux menggunakan Connect (), menerangkan MapStateToprops, MapdispatchToprops, dan kesan prestasi.

Artikel ini menerangkan USEContext dalam React, yang memudahkan pengurusan negara dengan mengelakkan penggerudian prop. Ia membincangkan faedah seperti keadaan terpusat dan penambahbaikan prestasi melalui pengurangan semula yang dikurangkan.

Artikel membincangkan menghalang tingkah laku lalai dalam pengendali acara menggunakan kaedah pencegahanDefault (), faedahnya seperti pengalaman pengguna yang dipertingkatkan, dan isu -isu yang berpotensi seperti kebimbangan aksesibiliti.
