如果您不知道它有多少页,如何从 pdf 中提取页面?

How do you extract the pages from a pdf if you dont know how many pages it has?

我正在 Python 3 中编写一个代码,它接收一个 XML 文件并从链接中提取文本(目前正在尝试使用 PyPDF2)。我已经写了这个试图做到这一点的函数:

def DataExtraction(aspects_link):
#aspects_link is a list that has all the links from the XML file
    for i in aspects_link:
        reader = PyPDF2.PdfFileReader(aspects_link[i])
        #extracting the pages
        reader.getPage().extractText()

我得到错误参数'pageNumber'未填充 由于要从中提取的链接很多,而且我不知道每个链接可能有多少页,所以我想知道是否有一种方法可以在不指定有多少页的情况下以提取每个页面的方式编写代码。

你可以通过getNumPages()知道有多少页。

基于此方法,有两个属性:numPages and pages。第一个是 getNumPages 的别名,所以它 returns 是一个整数(你有多少页),而后者是一个包含所有页面对象的列表。

for page in range(reader.getNumPages()): ...
for page in range(reader.numPages): ...
for page in reader.pages: ...

注意,前两种方法,你有一个整数,所以你需要调用reader.getPage(page).extractText();在后一次迭代中,您已经有了一个 PageObject,因此您只需要调用 page.extractText().

这是第一种可能性的代码示例:

def DataExtraction(aspects_link):
    #aspects_link is a list that has all the links from the XML file
    for i in aspects_link:
        reader = PyPDF2.PdfFileReader(aspects_link[i])
        # extracting the pages
        for page in range(reader.getNumPages()):
            reader.getPage(page).extractText()