估计大家的代码是这样写的
PDDocument document = PDDocument.load(bytes);
PDFRenderer render = new PDFRenderer(document);
int pages = document.getNumberOfPages();
if (pageNum > 0 && pageNum <= pages) {
BufferedImage image = render.renderImage(pageNum , 1.5f);
ImageIO.write(image, formatName, out);
然后报错情况如下:
相信大家都没找到使用手册,网上的一些文章都是我上面这种写法,然而,当我一个个异常去看的时候,终于发现为什么数据越界了,我传入的是pageNum 是1,但是为什么显示会说越界显示2呢?
贴出源码看下,你就知道了
原来在我们看不到的地方,他会自动帮我们的页数加一,这就是为什么你的PDF只有一页的时候会报错的原因。