程序员 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/