基于Python打造一个PDF合并器(支持批量拖拽合并)

 更新时间:2025年07月08日 15:38:14   作者:金泽宸  
不知道你们有没有遇到过这种情况,多个 PDF想合成一份复习资料,或者下载了很多发票凭证和行程单,想合并成一份报销文件,本文就来使用Python为大家搭建一个PDF合并器吧

有没有遇到过这种情况:

  • 多个 PDF,你想合成一份复习资料?
  • 下载了很多发票凭证、行程单,想合并成一份报销文件?
  • 每次打开 Acrobat 合并太麻烦,或者要付费?

用 Python,只需几行代码,立刻搞定!

效果展示

安装依赖

pip install PyPDF2 rich

核心代码:merge_pdfs.py

import sys
from pathlib import Path
from PyPDF2 import PdfMerger
from rich import print
from rich.console import Console

console = Console()

def merge_pdfs(file_paths, output_path="merged.pdf"):
    merger = PdfMerger()
    for path in file_paths:
        console.print(f"📄 正在合并:[green]{path}[/]")
        merger.append(str(path))
    merger.write(output_path)
    merger.close()
    console.print(f"\n✅ 已输出合并文件:[bold yellow]{output_path}[/]")

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print("[red]❌ 请至少指定两个 PDF 文件[/]")
        sys.exit(1)

    input_files = [Path(f) for f in sys.argv[1:]]
    merge_pdfs(input_files)

拖拽也能用!

Mac 或 Windows 上,可以直接把 PDF 拖到终端窗口运行:

$ python merge_pdfs.py [拖进来的文件1] [文件2] ...

拓展玩法

  • 支持合并任意数量的 PDF
  • 可定制输出名称:python merge_pdfs.py a.pdf b.pdf c.pdf -o all.pdf
  • 加入 GUI:配合 Tkinter 做个小工具

实用场景

  • 发票合并报销
  • 学习资料整合
  • 一键打包作业/合同/申请材料

到此这篇关于基于Python打造一个PDF合并器(支持批量拖拽合并)的文章就介绍到这了,更多相关Python PDF合并器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Django实现接口token检测的方法详解

    Django实现接口token检测的方法详解

    这篇文章主要为大家详细介绍了如何使用Django实现接口token检测,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-03-03
  • python 日志模块logging的使用场景及示例

    python 日志模块logging的使用场景及示例

    这篇文章主要介绍了python 日志模块logging的使用场景及示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-01-01
  • python读取并写入mat文件的方法

    python读取并写入mat文件的方法

    这篇文章主要介绍了python读取并写入mat文件的方法,文中给大家提到了python读取matlab写的mat文件问题以及解决办法 ,需要的朋友可以参考下
    2019-07-07
  • Python中global关键字的用法详解

    Python中global关键字的用法详解

    Python是一种简单而强大的编程语言,提供了许多功能和语法来帮助开发人员编写高效的代码,其中一个常用的功能是使用global关键字来在函数内部访问和修改全局变量,在本文中,我们将深入探讨Python中global关键字的用法,以及使用它的一些最佳实践
    2023-12-12
  • 简单使用Python自动生成文章

    简单使用Python自动生成文章

    本文其实是为了应付某些检查,应逼出来的东西,没什么太大的技术含量,想想还是有些思路在里面就拿出来分享给大家了。
    2014-12-12
  • python 实现二维数组的索引、删除、拼接操作

    python 实现二维数组的索引、删除、拼接操作

    这篇文章主要介绍了python 实现二维数组的索引、删除、拼接操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • Python Pygame中精灵和碰撞检测详解

    Python Pygame中精灵和碰撞检测详解

    对于游戏中出现的每一样东西,比如砖块箱子水管地面,还有人物都可以看成是一个独立的物体,所以每个物体类都继承了pygame的精灵类pg.sprite.Sprite,这篇文章主要给大家介绍了关于Python Pygame中精灵和碰撞检测的相关资料,需要的朋友可以参考下
    2021-10-10
  • Python实现京东秒杀功能代码

    Python实现京东秒杀功能代码

    这篇文章主要介绍了Python实现京东秒杀功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • python发腾讯微博代码分享

    python发腾讯微博代码分享

    本文介绍了利用qwebview写的一个发腾讯微博的功能,大家可以改成新浪微博,原理是一样的,大家参考使用吧
    2014-01-01
  • pytorch实现Tensor变量之间的转换

    pytorch实现Tensor变量之间的转换

    今天小编就为大家分享一篇pytorch实现Tensor变量之间的转换,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论