You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Spyder/Anaconda环境中无法安装使用PyPDF2,如何实现PDF合并?

解决方法

一、通过Anaconda/Spyder环境安装PyPDF2

安装前先确认你运行Spyder对应的Anaconda虚拟环境,默认是base环境,两种安装方式可选:

  • 图形化安装:打开Anaconda Navigator,切换到「Environments」标签,选中你用的环境后,在右侧搜索框输入PyPDF2,勾选搜索结果中的PyPDF2包,点击右下角Apply等待安装完成,重启Spyder后即可正常导入。
  • 命令行安装:打开Anaconda Prompt(Windows系统)或终端(Mac/Linux系统),先激活对应环境(默认base环境无需额外激活),执行以下任意一条命令即可:
    # conda源安装
    conda install -c conda-forge pypdf2
    # 若conda安装失败可改用pip安装
    pip install pypdf2
    

注意你现有代码存在两个可调整点:一是for循环下的代码没有缩进,二是新版PyPDF2已弃用PdfFileMerger,改用PdfMerger即可,修正后可运行代码如下:

import os
from PyPDF2 import PdfMerger

source_dir = os.getcwd()
merger = PdfMerger()

for item in os.listdir(source_dir):
    if item.endswith('.pdf'):
        merger.append(item)
    
# 替换为你自己的输出路径和文件名,例如'./合并后的文件.pdf'
merger.write('你的输出路径/合并文件名.pdf')
merger.close()

二、其他PDF合并实现方案

如果不想用PyPDF2,也可以用兼容性更好的PyMuPDF(fitz)库实现,步骤如下:

  1. 安装PyMuPDF:在Anaconda Prompt/终端对应环境下执行conda install -c conda-forge pymupdf
  2. 使用参考代码:
import os
import fitz

source_dir = os.getcwd()
output_path = "./合并后的文件.pdf"
merged_doc = fitz.open()

for item in os.listdir(source_dir):
    if item.endswith(".pdf"):
        pdf_doc = fitz.open(item)
        merged_doc.insert_pdf(pdf_doc)
        pdf_doc.close()

merged_doc.save(output_path)
merged_doc.close()

内容的提问来源于stack exchange,提问作者Ham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 09:54:01