使用iText或其他方式将PDF转换为多个JPG

时间:2011-06-21 07:45:21

标签: java pdf jpeg itext

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

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

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

如何使用iText进行此操作?

如果我不能用iText做这个,那么Java库可以实现这个目标吗?

感谢。

4 个答案:

答案 0 :(得分:2)

Ghostscript(适用于Windows,Linux,MacOS X,Solaris,AIX,...)可以转换...

  • ...来自输入格式:PDF,PostScript,EPS和AI
  • ...输出格式:JPEG,TIFF,PNG,PNM,PPM,BMP,(等等)。

(上面提到的ImageMagick不会自行进行转换 - 它使用Ghostscript,许多其他工具也是如此。)

答案 1 :(得分:1)

ICEpdf - http://www.icepdf.org/ - 有一个开源条目版本,可以满足您的需求。

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

答案 2 :(得分:1)

您也可以使用Sun的PDF-Renderer和JPedal将PDF映射(低和高分辨率。

答案 3 :(得分:1)

使用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"));
}