Skip to content

WQ-2001-mc/pdf_tool_script

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pdf_tool_script

一个轻量级 PDF 工具脚本集合,适合写论文、课程作业、整理扫描件或处理日常办公 PDF。当前包含 PDF 合并、按页码拆分、按规则批量拆分、替换指定页面等功能。

PDF tool overview

功能一览

脚本 功能 适合场景
merge_PDF.py 合并文件夹中的多个 PDF 把论文附件、课程材料、扫描件合成一个文件
split_pdf1.py Tkinter 图形界面拆分 PDF 不想敲命令,直接选择文件和输出目录
split_pdf2.py txt 规则批量拆分 PDF 一份长 PDF 按章节、题目、页码段拆成多个文件
exchangepdf.py 用单页 PDF 替换原 PDF 的某一页 替换签字页、错页、封面或重新扫描的页面

环境准备

建议使用 Python 3.8+。

pip install PyPDF2

如果使用 split_pdf1.py 的图形界面版本,需要本机 Python 支持 tkinter。Windows 通常自带;macOS 或 Linux 如果缺少,需要单独安装对应的 Tk 组件。

仓库结构

pdf_tool_script/
├── README.md
├── merge_PDF.py       # 批量合并 PDF
├── split_pdf1.py      # 图形界面拆分 PDF
├── split_pdf2.py      # 按规则文件拆分 PDF
├── exchangepdf.py     # 替换指定页
└── split_rule.txt     # 拆分规则示例文件

合并 PDF

merge_PDF.py 会读取指定文件夹中的所有 .pdf 文件,并输出为一个合并后的 PDF。

Merge PDF flow

使用前把脚本中的 target_path 修改成自己的 PDF 文件夹路径:

target_path = r'D:\pythonProject\pdf合并'

然后运行:

python merge_PDF.py

注意:当前脚本按操作系统返回的文件顺序合并,不能在运行时手动选择顺序。建议提前把文件命名为 01-封面.pdf02-正文.pdf03-附录.pdf 这类带序号的名称,后续也更容易扩展成排序合并。

图形界面拆分 PDF

split_pdf1.py 提供一个简单窗口,可以选择要拆分的 PDF、选择输出目录、输入页码范围,然后生成拆分后的文件。

python split_pdf1.py

页码输入支持:

1-10
12
1-10,15,20-30

说明:

  • 1-10:导出第 1 到第 10 页。
  • 12:单独导出第 12 页。
  • 1-10,15,20-30:一次生成多个 PDF。

按规则批量拆分 PDF

split_pdf2.py 适合处理“一个大 PDF 要拆成很多份”的情况。先准备一个规则文件,例如 split_rule.txt

Split rule flow

规则格式为:页码范围 输出文件名,每行一条。

1-40 chapter_01
41-85 chapter_02
86-125 appendix

运行脚本:

python split_pdf2.py

根据提示输入:

请输入要拆分的PDF名字(例如test.pdf): test.pdf
请输入写有拆分规则的文件名(例如:rule.txt): split_rule.txt

运行后会生成:

chapter_01.pdf
chapter_02.pdf
appendix.pdf

替换 PDF 指定页

exchangepdf.py 可以把原 PDF 中的某一页替换成另一个单页 PDF。

Replace PDF page flow

使用前修改脚本底部的参数:

original_pdf_path = r'C:\Users\...\original.pdf'
replacement_pdf_path = r'C:\Users\...\single.pdf'
page_number_to_replace = 7
output_pdf_path = 'output.pdf'

然后运行:

python exchangepdf.py

输出文件会保存为 output.pdf,原文件不会被覆盖。

使用建议

  • 处理重要文件前,先备份原 PDF。
  • 页码从 1 开始输入,不是从 0 开始。
  • 文件名尽量不要包含特殊符号,避免不同系统下路径解析出错。
  • 如果是扫描件或很大的 PDF,运行时间会更长,建议先用小文件测试规则。
  • Windows 路径可以写成 r'C:\path\to\file.pdf',macOS/Linux 路径一般类似 /Users/name/file.pdf

常见问题

提示找不到 PyPDF2 怎么办?

先安装依赖:

pip install PyPDF2

为什么合并顺序不是我想要的?

当前 merge_PDF.py 没有显式排序。建议先按顺序重命名文件,例如 01.pdf02.pdf03.pdf

为什么拆分时报页码错误?

检查输入页码是否超过 PDF 总页数,并确认范围左边小于或等于右边,例如 5-10 是有效的,10-5 是无效的。

后续可优化方向

  • 为合并功能增加文件名排序和输出路径配置。
  • 把硬编码路径改成命令行参数。
  • 统一使用新版 PyPDF2.PdfReader / PdfWriter API。
  • 为常用操作增加更友好的命令行入口。

About

pdf合并、拆分等工具

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages