Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 查找PDF页面计数而不读取整个文件_Java_Pdf - Fatal编程技术网

Java 查找PDF页面计数而不读取整个文件

Java 查找PDF页面计数而不读取整个文件,java,pdf,Java,Pdf,我的问题如下: 有一些巨大的PDF文件(>500MB),我想使用JAVA查找它们的页面数。如果我使用itext或pdfbox,我必须等到它读取整个文件时,大多数情况下都会失败,因为文件太大,或者需要花费很多时间 因此,我想知道是否有任何快速有效的方法来查找PDF文件的页数。是否可能重复 这是帖子的答案: iTextAPI经历了一次小小的大修。现在(在版本5.4.x中) 正确的使用方法是传递java.io.RandomAccessFile: 也许这有帮助?不,我试过了,但仍然需要很多时间。。。我正

我的问题如下:

有一些巨大的PDF文件(>500MB),我想使用JAVA查找它们的页面数。如果我使用itext或pdfbox,我必须等到它读取整个文件时,大多数情况下都会失败,因为文件太大,或者需要花费很多时间

因此,我想知道是否有任何快速有效的方法来查找PDF文件的页数。

是否可能重复

这是帖子的答案:

iTextAPI经历了一次小小的大修。现在(在版本5.4.x中) 正确的使用方法是传递java.io.RandomAccessFile:


也许这有帮助?不,我试过了,但仍然需要很多时间。。。我正在搜索类似“读取元数据并获取页面计数”的内容否,元数据(如果可用)不适用于此。@user3519936请共享有问题的文件并指出可接受的时间长度。
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;
}