我的问题如下:
有一些巨大的PDF文件(> 500MB),我想找到他们的页面数,使用JAVA。如果我使用itext或pdfbox,我必须等到它读取整个文件并且大部分时间都失败了,因为文件很大或者只需要花费很多时间。
所以,我想知道是否有任何快速有效的方法来查找PDF文件的页数。
答案 0 :(得分:1)
可能重复吗? Page count of Pdf with Java
并从该帖子中Mark Storer回答:
itext API经历了一次小修。现在(在5.4.x版本中) 正确的使用方法是通过java.io.RandomAccessFile:
int efficientPDFPageCount(File file) {
RandomAccessFile raf = new RandomAccessFile(file, "r");
RandomAccessFileOrArray pdfFile = new RandomAccessFileOrArray(
new RandomAccessSourceFactory().createSource(raf));
PdfReader reader = new PdfReader(pdfFile, new byte[0]);
int pages = reader.getNumberOfPages();
reader.close();
return pages;
}