【发布时间】:2012-06-07 10:35:41
【问题描述】:
我在byte array 中获得了一个 pdf。我只想将 pdf 的第一页转换为 image。
com.lowagie.text.pdf提供的课程我累了如下-
PdfReader reader = new PdfReader(input);
reader.selectPages("1");
File file = new File("D:/img1.jpg");
BufferedImage pdfImage = ImageIO.read(new ByteArrayInputStream(reader.getPageContent(1)));
ImageIO.write(pdfImage, "jpg", file);
当ImageIO.write 被调用时,这样做会给我一个异常?
当我获取 reader.getPageContent(1) 返回的字节数组的大小时,我得到一个 1000+ 的值。让我困惑的是为什么我会得到异常。
例外 -
java.lang.IllegalArgumentException: image == null!
我也试过itext,但没用。
您能否建议我从 pdf 文件的字节数组中获取第一页的图像(第一页作为图像)?
【问题讨论】:
-
我认为
getPageContent不会返回图像。你确定这个库提供这样的功能吗? -
@Banthar -
getPageContentreturnsbyte array我通过它得到一个ByteArrayInputStream然后我正在尝试写一个Image。
标签: java image bytearray itext pdf-reader