4

有一个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 文件。

4

2 回答 2

4

Image.getInstance(importedPage) 不会(正如人们可能假设的那样)将表示的页面呈现为某个位图,而只是创建一个包装对象以使导入的页面更容易添加到另一个 PDF。

iText 不是 PDF 渲染工具,尤其不是旧的 com.lowagie 变体。您可能想查看不同的产品,例如JPedal

于 2012-10-17T13:26:04.673 回答
3

显然(根据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

于 2012-10-17T13:24:42.333 回答