【问题标题】:How do you extract the pages from a pdf if you dont know how many pages it has?如果您不知道它有多少页,如何从 pdf 中提取页面?
【发布时间】:2021-08-05 19:32:50
【问题描述】:

我正在用 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()

我收到错误 Parameter 'pageNumber' unfilled 由于要提取的链接很多,而且我不知道每个链接可能有多少页,我想知道是否有一种方法可以编写代码以提取每个页面而无需我指定有多少。

【问题讨论】:

    标签: python python-3.x xml-parsing data-extraction


    【解决方案1】:

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

    基于此方法,有两个属性:numPagespages。第一个是getNumPages的别名,所以它返回一个int(你有多少页),而后者是一个包含所有页面对象的列表。

    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()
    

    【讨论】:

    • 哦,这更有意义,非常感谢!祝你有美好的一天。
    猜你喜欢
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 2020-01-12
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多