如果 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)
我收到的输出为:
- [2]
- [254]
- [439]
- [458]
有人可以帮我看一下我该如何解决吗?谢谢
现在您在每次迭代中都定义了一个新的 llst,因此您只需在循环之前定义一次列表。也在循环外打印它:
Pagelist=[]
for i in range(0,NumPages):
# rest of the loop
print(Pagelist)
如果页面包含某些字符串,我会尝试提取 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)
我收到的输出为:
- [2]
- [254]
- [439]
- [458]
有人可以帮我看一下我该如何解决吗?谢谢
现在您在每次迭代中都定义了一个新的 llst,因此您只需在循环之前定义一次列表。也在循环外打印它:
Pagelist=[]
for i in range(0,NumPages):
# rest of the loop
print(Pagelist)