Python:合并两个PDF文件为一个PDF

如果你使用PyPDF2'遇到了 AttributeError: partially initialized module 'PyPDF2' has no attribute 'PdfFileReader' 这个错误,可能是由于 PyPDF2 库的版本问题或者库本身的问题。在这种情况下,你可以尝试使用 PyMuPDF(MuPDF)库来处理 PDF 文件。以下是一个使用 PyMuPDF 的示例代码:

首先,你需要安装 PyMuPDF 库:

bash 复制代码
pip install pymupdf

接下来,使用以下示例代码来合并两个 PDF 文件:

python 复制代码
import fitz  # PyMuPDF

def merge_pdfs(pdf1_path, pdf2_path, output_path):
    # 打开两个 PDF 文件
    pdf1 = fitz.open(pdf1_path)
    pdf2 = fitz.open(pdf2_path)

    # 创建新的 PDF 文档
    merged_pdf = fitz.open()

    # 将第一个 PDF 文件的页面添加到新文档
    for page_num in range(pdf1.page_count):
        page = pdf1[page_num]
        merged_pdf.insert_pdf(pdf1, from_page=page_num, to_page=page_num, start_at=merged_pdf.page_count)

    # 将第二个 PDF 文件的页面添加到新文档
    for page_num in range(pdf2.page_count):
        page = pdf2[page_num]
        merged_pdf.insert_pdf(pdf2, from_page=page_num, to_page=page_num, start_at=merged_pdf.page_count)

    # 保存合并后的 PDF 到输出文件
    merged_pdf.save(output_path)

    # 关闭所有打开的 PDF 文件
    pdf1.close()
    pdf2.close()
    merged_pdf.close()

# 使用示例
pdf1_path = 'path/to/first.pdf'
pdf2_path = 'path/to/second.pdf'
output_path = 'path/to/output.pdf'

merge_pdfs(pdf1_path, pdf2_path, output_path)

替换 path/to/first.pdfpath/to/second.pdf 为你的实际文件路径,将合并后的 PDF 文件保存到 path/to/output.pdf。这个示例使用 PyMuPDFfitz 模块来实现 PDF 合并。

相关推荐
青瓷程序设计2 分钟前
【宠物识别系统】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
诸神缄默不语1 小时前
Python 3中的win32com使用教程+示例:从Excel读取数据生成Word格式报告批量发邮件
python·word·excel
你挚爱的强哥1 小时前
【sgSelectExportDocumentType】自定义组件:弹窗dialog选择导出文件格式word、pdf,支持配置图标和格式名称,触发导出事件
vue.js·pdf·word
草莓熊Lotso2 小时前
unordered_map/unordered_set 使用指南:差异、性能与场景选择
java·开发语言·c++·人工智能·经验分享·python·网络协议
二川bro7 小时前
量子计算入门:Python量子编程基础
python
夏天的味道٥8 小时前
@JsonIgnore对Date类型不生效
开发语言·python
tsumikistep9 小时前
【前后端】接口文档与导入
前端·后端·python·硬件架构
小白学大数据9 小时前
Python爬虫伪装策略:如何模拟浏览器正常访问JSP站点
java·开发语言·爬虫·python
头发还在的女程序员10 小时前
三天搞定招聘系统!附完整源码
开发语言·python
温轻舟11 小时前
Python自动办公工具06-设置Word文档中表格的格式
开发语言·python·word·自动化工具·温轻舟