从pdf获取页面并使用itext将其保存到图像文件中
有一个pdf文件,我想将第二页作为图像导入并保存到jpeg文件中。 有可能,怎么做?
这是我导入页面的代码:
Document document = new Document(); File file = File.createTempFile("", ""); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(file)); document.open(); final int backPage = 2; PdfReader reader = new PdfReader(pdf.getAbsolutePath()); PdfImportedPage importedPage = writer.getImportedPage(reader, backPage); com.lowagie.text.Image image = com.lowagie.text.Image.getInstance(importedPage);
现在我得到一个image
实例,但我不知道如何将它写入jpeg文件。
显然(根据1T3XT BVBA ),您只能从PDF页面保存iText图像,而不能保存光栅图像。 您可以将它存储在任何地方,如果您稍后将其用于另一个PDF页面…否则,您将不得不使用像JPedal这样的工具:
http://www.idrsolutions.com/convert-pdf-to-images/
===================================
编辑:也许PDFBox也可以为你做到这一点!:
http://pdfbox.apache.org/commandlineutilities/PDFToImage.html
http://gal-levinsky.blogspot.it/2011/11/convert-pdf-to-image-via-pdfbox.html
Image.getInstance(importedPage)不会(如人们所假设的那样)将表示的页面呈现为某个位图,而只是创建一个包装器对象,以使导入的页面更容易添加到另一个PDF。
iText不是PDF渲染工具,尤其不是旧的com.lowagie变体。 您可能想要查看不同的产品,例如JPedal 。