PDFBox を使用して PDF ファイルを画像に変換する方法
Apache プロジェクトである PDFBox は、PDF ドキュメントを個別の画像に変換するための強力なソリューションを提供します。この機能は、画像の抽出や処理などのタスクに特に役立ちます。
この変換プロセスの鍵は、PDF ドキュメントへのアクセスと操作の基盤として機能する PDDocument クラスにあります。 PDF が PDDocument オブジェクトにロードされると、getAllPages() メソッドを通じてそのページにアクセスできます。
サンプル コード
PDF を変換する方法を示す例は次のとおりです。ページを画像に変換:
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(); } }
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(); } }
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(); } }
これらのコード例を活用すると、 PDF ドキュメントを一連の個々の画像に簡単に変換できるため、画像処理ワークフローに関連する柔軟性と利便性が解放されます。
以上がPDFBox を使用して PDF ファイルを画像に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。