今
日
鸡
汤
信言不美,美言不信。
大家好,我是Python进阶者。
前几天在Python白银交流群【黄志诚】问了一个PDF自动化办公的问题,问题和代码如下:这个为什么这样呢?
import os
from PyPDF2 import PdfReader, PdfWriter
# 设置目标目录和要插入的PDF文件路径
target_directory = r'd:\Users\Desktop\PDF\PDF'
pdf_to_insert = r'd:\Users\Desktop\PDF\公共文件.pdf'
# 创建PdfFileReader对象来读取要插入的PDF
pdf_reader = PdfReader(open(pdf_to_insert, 'rb'))
# 遍历目标目录下的所有PDF文件
for filename in os.listdir(target_directory):
if filename.endswith('.pdf'):
# 创建PdfFileWriter对象来处理当前文件
pdf_writer = PdfWriter()
# 打开目标文件
with open(os.path.join(target_directory, filename), 'rb') as infile:
pdf_reader_target = PdfReader(infile)
# 将目标文件的所有页面添加到PdfFileWriter对象中
for page in range(len(pdf_reader.pages)):
pdf_writer.add_page(pdf_reader_target.pages[page])
# 将要插入的PDF的页面添加到PdfFileWriter对象中
for page in range(len(pdf_reader.pages)):
pdf_writer.add_page(pdf_reader.pages[page])
# 将修改后的PDF内容写入到新文件中
with open(os.path.join(target_directory + r'\已完成', filename), 'wb') as outfile:
pdf_writer.write(outfile)
这里【此类生物】给了一个指导,如下所示:
【此类生物】:你循环 pdf_reader
的页面 不应该加入的也是 pdf_reader
对应的页面吗,为什么是pdf_reader_target.pages[page]
,这两个pdf 页码数肯定不一样。你循环的是A.PDF 页面 添加进去的是B.PDF 两pdf页码肯定不一样,肯定报错。
【黄志诚】:我是要批量为目录下单每一个文件加一个文件。
具体修改方法如下所示:
顺利地解决了粉丝的问题。