问题:我有一个页码数组,需要将空白页插入或合并到原始PDF中。例如)[1,3,5,8,10]。我需要这些页面为空白,然后原始文档的页码会增加。
我用Python脚本在一个PDF文件中搜索特定的文本,它表示一个字母的结尾。每个字母的页数都不同。使用PyPDF 2,我尝试了合并()目录中只有一个空白页pdf,请插入空白页(),addPage(),我遇到的问题是空白页覆盖了原始页。第一页需要空白,但接下来的几页是不正确的。似乎空白页是写在现有的页面上,而不是插入在页码。
如何在数组中列出的页码处插入空白页?下面是代码。输出的页面数组不需要是字符串;如果我可以用Python添加空白页,那么页码数组就不需要是字符串了。
import PyPDF2, re
pdfIn = open('sample_letter.pdf', 'rb')
pdfFile = PyPDF2.PdfFileReader(pdfIn)
NumPages = pdfFile.getNumPages()
string = "Text I am searching for."
separator = ', '
mystring = ""
def end_of_letter():
pages = []
for page in range(NumPages):
pgObj = pdfFile.getPage(page)
text = pgObj.extractText()
match = re.search(string, text)
if match:
pages.append(str(page + 1))
mystring = separator.join(pages)
print(mystring)
return mystring
end_of_letter()
3条答案
按热度按时间b4qexyjb1#
我能够找到一个解决方案,成功地通过PDF迭代,找到信件结尾的文本,然后插入空白页。代码如下。
ebdffaop2#
我知道这个问题是专门针对pyPDF2的,但我使用的是不同的PDF库pikepdf,它对我来说更快,我想分享我的代码:
您可以通过以下方式对文件夹中的每个文件执行此操作(PowerShell):
k0pti3hp3#
只是想分享一个方法,我用另一个Python库解决了我今天的问题。我在Windows 11上安装了Python 3.10.10。