java - 使用java将PDF转图像

标签 java image pdf pdfbox

程序员 friend 们,大家好。我是 java 新手,我需要从 pdf 的特定部分创建图像。

目前,我正在使用 pdfbox。

这是我从 pdf 创建图像的代码(它正在工作,但它创建了整个 pdf 页面的图像):

PDDocument document = PDDocument.load(new File(PDFFILE));

            PDFRenderer pdfRenderer = new PDFRenderer(document);
            for (int page = 0; page < document.getNumberOfPages(); ++page)
            {

                BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);

                ImageIOUtil.writeImage(bim, path + "-" + (page+1) + ".png", 300);
            }
            document.close();

问题:

我需要根据 pdf 的特定位置(如矩形)创建图像。

有没有办法使用 pdfbox 来做到这一点,或者是否有另一个库可以做到这一点?我尝试搜索但找不到解决方案。
谢谢。

最佳答案

这是解决方案:感谢 mkl 的想法

    private void PdfToImage(String PDFFILE){
            try{

                PDDocument document = PDDocument.load(new File(PDFFILE));
                PDPage pd;

                PDFRenderer pdfRenderer = new PDFRenderer(document);
                for (int page = 0; page < document.getNumberOfPages(); ++page)
                {


                  pd = document.getPage(page);
                  pd.setCropBox(new PDRectangle(100, 100,100,100));
                  BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);
                  ImageIOUtil.writeImage(bim, outputpath + (page+1) + ".png", 300);

                }
                document.close();
            }catch (Exception ex){
                JOptionPane.showMessageDialog(null, ex.getStackTrace());
            }
        }

关于java - 使用java将PDF转图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40519994/

相关文章:

java - 如何在 Android 上使用 iText 从 PDF 文件中按顺序提取图像和文本

java - PowerMock-IllegalStateException : Must replay Class XXX to get configured expectation

java - 在 Java 中将 WBXML 转换为 XML

php - 从数据库调用图像会在 html 中产生空格

css - 如何在使用溢出时移动图像的 POV : hidden?

android - 膨胀包含 PDFViewCtrl 的 View

java - 带有 JSP 的 Jersey,没有标签

java - 通过单击在 Mac Big Sur 上运行 .jar 文件

Java - 我需要帮助理解 UI 缩放到不同的屏幕尺寸

javascript - 有没有办法将网页的特定 div 打印为 pdf?