如果你使用PyPDF2’遇到了 AttributeError: partially initialized module 'PyPDF2' has no attribute 'PdfFileReader' 这个错误,可能是由于 PyPDF2 库的版本问题或者库本身的问题。在这种情况下,你可以尝试使用 PyMuPDF(MuPDF)库来处理 PDF 文件。以下是一个使用 PyMuPDF 的示例代码:
首先,你需要安装 PyMuPDF 库:
pip install pymupdf
接下来,使用以下示例代码来合并两个 PDF 文件:
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.pdf 和 path/to/second.pdf 为你的实际文件路径,将合并后的 PDF 文件保存到 path/to/output.pdf。这个示例使用 PyMuPDF 的 fitz 模块来实现 PDF 合并。
本文介绍了在遇到PyPDF2库AttributeError时,如何通过安装并使用PyMuPDF库来合并PDF文件。提供了合并PDF的示例代码,包括安装步骤和具体操作过程。
1322






