如果 pdf 页面包含使用 python 的特定文本字符串,如何创建 pdf 页码列表

how to create a list of pdf page numbers if pdf page contains specific text strings using python

如果页面包含某些字符串,我会尝试提取 PDF 页码,然后将所选页码附加到列表中。例如,第 2、254、439 和 458 页符合条件,我希望输出为列表 [2,254,439,458]。我的代码是:


object=PyPDF2.PdfFileReader(file_path)
NumPages = object.getNumPages()
String = 'specific string'
for i in range(0,NumPages):
  PageObj=object.getPage(i)
  Text = PageObj.extractText()
  ReSearch = re.search(String,Text)
  Pagelist=[]
  if ReSearch != None:
     Pagelist.append(i)
     print(Pagelist)

我收到的输出为:

有人可以帮我看一下我该如何解决吗?谢谢

现在您在每次迭代中都定义了一个新的 llst,因此您只需在循环之前定义一次列表。也在循环外打印它:

Pagelist=[]
for i in range(0,NumPages):
    # rest of the loop
print(Pagelist)