Python合并多个pdf

场景:

现在要解决批量合并PDF的问题。

有很多PDF文件需要合并成一个,比如报告、发票或者多个章节的文档。

对于Windows用户,Adobe Acrobat是专业的选择,但需要付费。但是我不想花钱,所以推荐免费软件,比如PDFsam Basic或者Smallpdf的桌面版。另外,PowerShell脚本的方法可能适合更技术型的用户,但普通用户可能觉得复杂。 WPS 得一个一个pdf 进行操作,实在麻烦。

Mac用户的话,预览应用的内置功能就很方便,不需要额外安装。但可能需要步骤指引,比如如何拖拽调整顺序,如何导出。如果用户需要更多功能,可能推荐在线工具或者第三方软件。

在线工具方面,ILovePDF、Smallpdf、PDFmerge都是不错的选择,但要提醒用户注意隐私问题,特别是处理敏感文档时。如果文件很多或者很大,上传下载可能会比较慢,这时候桌面软件更好。

还要考虑到用户可能遇到的问题,比如文件顺序不对,合并后的文件大小,或者格式混乱。

可能需要提醒用户提前按顺序命名文件。

为了简化,需要合并的PDF放在同一个文件夹,并按顺序合并。所以代码示例可能需要用户输入文件路径列表,或者自动合并某个文件夹中的所有PDF。

安装库

复制代码
pip install pypdf2    

python 代码

复制代码
import os
from PyPDF2 import PdfMerger

def merge_pdfs(input_folder, output_filename):
    merger = PdfMerger()
    
    # 获取文件夹中所有 PDF 文件并按名称排序
    pdf_files = [f for f in os.listdir(input_folder) if f.endswith(".pdf")]
    pdf_files.sort()  # 按文件名排序(可自定义排序逻辑)
    #pdf_files.sort(reverse=True)  # 按文件名排序(可自定义排序逻辑)
    
    # 逐个合并 PDF
    for pdf in pdf_files:
        file_path = os.path.join(input_folder, pdf)
        merger.append(file_path)
    
    # 输出合并后的文件
    merger.write(output_filename)
    merger.close()
    print(f"合并完成!保存为: {output_filename}")

# 使用示例
merge_pdfs(input_folder="你的PDF文件夹路径", output_filename="合并结果.pdf")

执行结果

相关推荐
yangzhi_emo3 分钟前
ES6笔记2
开发语言·前端·javascript
emplace_back1 小时前
C# 集合表达式和展开运算符 (..) 详解
开发语言·windows·c#
jz_ddk1 小时前
[学习] C语言数学库函数背后的故事:`double erf(double x)`
c语言·开发语言·学习
萧曵 丶1 小时前
Rust 所有权系统:深入浅出指南
开发语言·后端·rust
xiaolang_8616_wjl1 小时前
c++文字游戏_闯关打怪2.0(开源)
开发语言·c++·开源
收破烂的小熊猫~1 小时前
《Java修仙传:从凡胎到码帝》第四章:设计模式破万法
java·开发语言·设计模式
蹦蹦跳跳真可爱5892 小时前
Python----OpenCV(图像増强——高通滤波(索贝尔算子、沙尔算子、拉普拉斯算子),图像浮雕与特效处理)
人工智能·python·opencv·计算机视觉
nananaij2 小时前
【Python进阶篇 面向对象程序设计(3) 继承】
开发语言·python·神经网络·pycharm
雷羿 LexChien2 小时前
从 Prompt 管理到人格稳定:探索 Cursor AI 编辑器如何赋能 Prompt 工程与人格风格设计(上)
人工智能·python·llm·编辑器·prompt