Pdf使用java进行映像

时间:2016-11-10 04:29:50

标签: java image pdf pdfbox

美好的一天同事程序员。我是java的新手,我需要从pdf的特定部分创建一个Image。

目前,我正在使用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执行此操作,还是有其他库可以执行此操作?我尝试过搜索,但无法找到解决办法 谢谢。

1 个答案:

答案 0 :(得分:3)

这是解决方案:感谢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());
            }
        }