Java 使用iText或其他工具将PDF转换为多个JPG

Java 使用iText或其他工具将PDF转换为多个JPG,java,pdf,jpeg,itext,Java,Pdf,Jpeg,Itext,我需要将任何多页PDF文件转换为一组JPG 由于PDF文件应该来自扫描仪,我们可以假设每个页面只包含一个要提取的图形对象,但我不能100%确定这一点 因此,我需要将每个页面中的任何可渲染内容转换为单个JPEG文件 如何使用iText执行此操作 如果我不能用iText实现这一点,那么什么Java库可以实现这一点 谢谢。ICEpdf--有一个开源入门版,可以满足您的需要 我相信开源版本和付费版本的主要区别在于付费版本有更好的字体支持。ICEpdf--有一个开源的入门版,可以满足您的需要 我相信开源版

我需要将任何多页PDF文件转换为一组JPG

由于PDF文件应该来自扫描仪,我们可以假设每个页面只包含一个要提取的图形对象,但我不能100%确定这一点

因此,我需要将每个页面中的任何可渲染内容转换为单个JPEG文件

如何使用iText执行此操作

如果我不能用iText实现这一点,那么什么Java库可以实现这一点

谢谢。

ICEpdf--有一个开源入门版,可以满足您的需要

我相信开源版本和付费版本的主要区别在于付费版本有更好的字体支持。

ICEpdf--有一个开源的入门版,可以满足您的需要


我相信开源版本和付费版本之间的主要区别在于付费版本具有更好的字体支持。

您也可以使用Sun的PDF渲染器,JPedal使用PDF格式进行图像处理(低分辨率和高分辨率)。

您也可以使用Sun的PDF渲染器,JPedal使用PDF格式进行图像处理(低分辨率和高分辨率)。

(适用于Windows、Linux、MacOS X、Solaris、AIX等)可以转换

  • …来自输入格式:PDF、PostScript、EPS和AI
  • …输出格式:JPEG、TIFF、PNG、PNM、PPM、BMP(及更多)
(上面提到的ImageMagick并不是独立完成转换的——它像许多其他工具一样在引擎盖下使用Ghostscript。)

Ghostscript(可用于Windows、Linux、MacOS X、Solaris、AIX等)可以转换

  • …来自输入格式:PDF、PostScript、EPS和AI
  • …输出格式:JPEG、TIFF、PNG、PNM、PPM、BMP(及更多)

(上面提到的ImageMagick并不是自己进行转换的——它在引擎盖下使用Ghostscript,其他许多工具也是如此。)

使用Apache PDFBox,您可以执行以下操作:

PDDocument document = PDDocument.load(pdffile);
List<PDPage> pages = document.getDocumentCatalog().getAllPages();
for (int i = 0; i < pages.size(); i++) {
  PDPage page = pages.get(i);
  BufferedImage image = page.convertToImage(BufferedImage.TYPE_INT_RGB, 72);
  ImageIO.write(image, "jpg", new File(pdffile.getAbsolutePath() + "_" + i + ".jpg"));
}
PDDocument document=PDDocument.load(pdffile);
列表页面=document.getDocumentCatalog().getAllPages();
对于(int i=0;i
使用Apache PDFBox,您可以执行以下操作:

PDDocument document = PDDocument.load(pdffile);
List<PDPage> pages = document.getDocumentCatalog().getAllPages();
for (int i = 0; i < pages.size(); i++) {
  PDPage page = pages.get(i);
  BufferedImage image = page.convertToImage(BufferedImage.TYPE_INT_RGB, 72);
  ImageIO.write(image, "jpg", new File(pdffile.getAbsolutePath() + "_" + i + ".jpg"));
}
PDDocument document=PDDocument.load(pdffile);
列表页面=document.getDocumentCatalog().getAllPages();
对于(int i=0;i
这个术语是PDF呈现程序。调用本机程序是一个选项吗?如果是,什么平台?不确定。但它必须在Windows(开发)和Linux(测试和生产)上工作。这个术语是PDF呈现程序。调用本机程序是一个选项吗?如果是,什么平台?不确定。但它必须在Windows(开发)和Linux(测试和生产)上工作似乎是可行的。至少主页上宣传了这一功能。你知道JPEG渲染是否有任何快速启动,以便我们可以进行原始概念证明,以便请求将包正式导入项目?(我讨厌Bureaocracy,但“dura lex sed lex”)不久前我看了这个项目,但我们走了另一条路,所以我没有第一手的经验。我建议注册并下载他们的东西,看看他们的网页上是否有演示(展示图像)包括。似乎可行。至少主页上宣传了此功能。您知道JPEG渲染是否有任何快速启动,以便我们可以进行原始概念证明,以便请求将包正式导入项目?(我讨厌Bureaocracy,但“dura lex sed lex”)不久前我看了这个项目,但我们走了另一条路,所以我没有第一手的经验。我建议注册并下载他们的东西,看看他们的网页上是否有演示(展示图像)包括。iText在测试中使用Ghostscript和ImageMagick。Ghostscript将PDF转换为PNG文件,然后ImageMagick比较PNG文件。有关详细信息,请查看iText源代码中的
CompareTool
类。iText在测试中使用Ghostscript和ImageMagick。Ghostscript转换为将PDF转换为PNG文件,然后使用ImageMagick比较PNG文件。有关详细信息,请查看iText源代码中的
CompareTool
类。