我需要将任何多页PDF文件转换为一组JPG。
由于PDF文件假设来自扫描仪,我们可以假设每个页面只包含一个要提取的图形对象,但我无法100%确定。
因此,我需要将每个页面中的任何可渲染内容转换为单个JPEG文件。
如何使用iText进行此操作?
如果我不能用iText做这个,那么Java库可以实现这个目标吗?
感谢。
答案 0 :(得分:2)
Ghostscript(适用于Windows,Linux,MacOS X,Solaris,AIX,...)可以转换...
(上面提到的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"));
}