如何在python中使用pdfminer获取pdf总页数的总数

Mal*_*mad 1 python pdfminer

在PyPDF2中pdfreader.getNumPages()给出了pdf文件的总页数.

如何使用pdfminer获取此信息?

Pet*_*ete 10

我讨厌留下一段代码片段.对于上下文,这里是指向当前pdfminer.six repo链接,您可以在其中了解有关该resolve1方法的更多信息.

当您使用pdfminer时,您可能会打印并遇到一些PDFObjRef对象.基本上你可以resolve1用来扩展那些对象(它们通常是字典).

from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfinterp import resolve1

file = open('some_file.pdf', 'rb')
parser = PDFParser(file)
document = PDFDocument(parser)

# This will give you the count of pages
print(resolve1(document.catalog['Pages'])['Count'])
Run Code Online (Sandbox Code Playgroud)


小智 7

使用pdfminer.6,您只需导入高级函数extract_pages,将生成器转换为列表并获取其长度。

from pdfminer.high_level import extract_pages

print(len(list(extract_pages(pdf_file))))
Run Code Online (Sandbox Code Playgroud)

  • 虽然简单得多,但该解决方案的执行速度比公认的解决方案要慢得多。 (4认同)