当你有两个PDF时,希望将两个PDF合并为一个,可以借助一些在线网站合并,也可以尝试自己写代码合并pdf.
下文主要是借助了PyPDF2库,实现PDF合并操作。
import PyPDF2
# 打开第一个PDF文件
pdf1_path = file1
pdf1 = open(pdf1_path, 'rb')
# 打开第二个PDF文件
pdf2_path = file2
pdf2 = open(pdf2_path, 'rb')
# 创建一个PDF写入对象
output_pdf = PyPDF2.PdfWriter()
# 读取第一个PDF文件的页面大小
pdf1_reader = PyPDF2.PdfReader(pdf1)
page_size = pdf1_reader.pages[0].mediabox
# 遍历第一个PDF的每一页,将其添加到输出PDF中
for page_num in range(len(pdf1_reader.pages)):
page = pdf1_reader.pages[page_num]
output_pdf.add_page(page)
# 读取第二个PDF文件的页面数量
pdf2_reader = PyPDF2.PdfReader(pdf2)
# 遍历第二个PDF的每一页,将其添加到输出PDF中
for page_num in range(len(pdf2_reader.pages)):
page = pdf2_reader.pages[page_num]
page.scale_to(float(page_size[2]), float(page_size[3]))
# page.scale_to(*page_size[2:]) # 调整第二个PDF页面大小为第一个PDF的页面大小
output_pdf.add_page(page)
# 将合并后的PDF写入新文件
output_path = output_file
output_pdf.write(open(output_path, 'wb'))
# 关闭文件
pdf1.close()
pdf2.close()
主要思路:分别打开两个PDF,并新建一个Pdf.Writer(),逐步将第一个文件的所有页面添加到新文档中,然后添加完紧接着添加第二个文件的所有页面到刚刚的文档中,添加完成后写入新PDF,注意结束时关闭先前打开的文档。