Cara Menukar Fail PDF kepada Imej Menggunakan PDFBox
PDFBox, projek Apache, menawarkan penyelesaian yang berkuasa untuk menukar dokumen PDF kepada imej individu . Keupayaan ini boleh menjadi sangat berharga untuk tugas seperti pengekstrakan dan pemprosesan imej.
Kunci kepada proses penukaran ini terletak pada kelas PDDocument, yang berfungsi sebagai asas untuk mengakses dan memanipulasi dokumen PDF. Setelah PDF dimuatkan ke dalam objek PDDocument, halamannya boleh diakses melalui kaedah getAllPages().
Kod Contoh
Berikut ialah contoh yang menunjukkan cara menukar PDF halaman menjadi imej:
Penyelesaian untuk PDFBox 1.8.*:
import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.ImageType; import org.apache.pdfbox.rendering.PDFRenderer; import org.apache.pdfbox.tools.imageio.ImageIOUtil; import java.awt.image.BufferedImage; import java.io.File; public class PdfToImageConverter { public static void main(String[] args) throws Exception { String pdfFilename = "your_pdf_file.pdf"; PDDocument document = PDDocument.loadNonSeq(new File(pdfFilename), null); List<PDPage> pdPages = document.getDocumentCatalog().getAllPages(); int page = 0; for (PDPage pdPage : pdPages) { ++page; BufferedImage bim = pdPage.convertToImage(BufferedImage.TYPE_INT_RGB, 300); ImageIOUtil.writeImage(bim, pdfFilename + "-" + page + ".png", 300); } document.close(); } }
Penyelesaian untuk PDFBox 2.0:
import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.ImageType; import org.apache.pdfbox.rendering.PDFRenderer; import org.apache.pdfbox.tools.imageio.ImageIOUtil; import java.awt.image.BufferedImage; import java.io.File; public class PdfToImageConverter { public static void main(String[] args) throws Exception { String pdfFilename = "your_pdf_file.pdf"; PDDocument document = PDDocument.load(new File(pdfFilename)); PDFRenderer pdfRenderer = new PDFRenderer(document); for (int page = 0; page < document.getNumberOfPages(); ++page) { BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB); ImageIOUtil.writeImage(bim, pdfFilename + "-" + (page + 1) + ".png", 300); } document.close(); } }
Penyelesaian untuk PDFBox 3.0:
import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.ImageType; import org.apache.pdfbox.rendering.PDFRenderer; import org.apache.pdfbox.tools.imageio.ImageIOUtil; import java.awt.image.BufferedImage; import java.io.File; public class PdfToImageConverter { public static void main(String[] args) throws Exception { String pdfFilename = "your_pdf_file.pdf"; PDDocument document = Loader.loadPDF(new File(pdfFilename)); PDFRenderer pdfRenderer = new PDFRenderer(document); for (int page = 0; page < document.getNumberOfPages(); ++page) { BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB); ImageIOUtil.writeImage(bim, pdfFilename + "-" + (page + 1) + ".png", 300); } document.close(); } }
Dengan memanfaatkan contoh kod ini, anda boleh dengan mudah menukar dokumen PDF kepada satu siri imej individu, membolehkan anda membuka kunci fleksibiliti dan kemudahan yang berkaitan dengan aliran kerja pemprosesan imej.
Atas ialah kandungan terperinci Bagaimanakah cara menukar fail PDF kepada imej menggunakan PDFBox?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!