PDF Editor 提供了一组用于常见 PDF 页面操作任务的 Python 脚本。所有脚本均使用 pypdf 库,以实现可靠、确定性的 PDF 编辑。
快速开始
安装所需依赖:
pip install pypdf
每个脚本都可以直接从命令行运行。所有脚本遵循以下模式:
python scripts/<script_name>.py <input_args> <output_file>
删除页面
从 PDF 中删除指定页面。
脚本:scripts/delete_pages.py
用法:
python scripts/delete_pages.py <input_pdf> <output_pdf> <pages>
示例:
删除第 1 页
python scripts/delete_pages.py input.pdf output.pdf "1"
删除第 1、3、5 页
python scripts/delete_pages.py input.pdf output.pdf "1,3,5"
删除第 2-4 页
python scripts/delete_pages.py input.pdf output.pdf "2-4"
删除第 1 页、第 3-5 页和第 7 页
python scripts/delete_pages.py input.pdf output.pdf "1,3-5,7"
页面指定方式:以逗号分隔,从 1 开始计数。支持使用连字符表示范围(例如 "2-4")。
重排页面
更改 PDF 中页面的顺序。
脚本:scripts/reorder_pages.py
用法:
python scripts/reorder_pages.py <input_pdf> <output_pdf> <page_order>
示例:
交换前两页
python scripts/reorder_pages.py input.pdf output.pdf "2,1,3,4,5"
反转前三页
python scripts/reorder_pages.py input.pdf output.pdf "3,2,1,4,5"
页面指定方式:按期望顺序排列的逗号分隔列表,从 1 开始计数。必须指定输出中要包含的所有页面。
插入页面
将一个 PDF 中的页面插入到另一个 PDF 中。
脚本:scripts/insert_pages.py
用法:
python scripts/insert_pages.py <base_pdf> <source_pdf> <output_pdf> <position> <pages>
参数:
position:插入位置(从 1 开始计数,0 表示插入到开头)
pages:要从源 PDF 插入的页面(支持 "all" 关键字)
示例:
将 source.pdf 的第 5 页插入到 base.pdf 的第 2 页之后
python scripts/insert_pages.py base.pdf source.pdf output.pdf 2 "5"
将 source.pdf 的第 1、3-5 页插入到开头
python scripts/insert_pages.py base.pdf source.pdf output.pdf 0 "1,3-5"
将 source.pdf 的所有页面插入到第 3 页之后
python scripts/insert_pages.py base.pdf source.pdf output.pdf 3 "all"
旋转页面
将指定页面旋转 90、180 或 270 度。
脚本:scripts/rotate_pages.py
用法:
python scripts/rotate_pages.py <input_pdf> <output_pdf> <pages> <angle>
参数:
angle:90、180、270 或 -90
示例:
将第 1 页顺时针旋转 90 度
python scripts/rotate_pages.py input.pdf output.pdf "1" 90
将第 1、3-5 页旋转 180 度
python scripts/rotate_pages.py input.pdf output.pdf "1,3-5" 180
将所有页面旋转 90 度
python scripts/rotate_pages.py input.pdf output.pdf "all" 90
页面指定方式:支持 "all" 关键字以旋转所有页面。
拆分 PDF
将一个 PDF 拆分为多个文件。
脚本:scripts/split_pdf.py
用法:
python scripts/split_pdf.py <input_pdf> <output_dir> <split_spec>
拆分方式:
"single":每一页成为单独的文件
"1-3,4-6,7-9":按指定的页面范围拆分
"3":每 N 页拆分一次
示例:
拆分为单独的页面
python scripts/split_pdf.py input.pdf ./output single
拆分为指定范围
python scripts/split_pdf.py input.pdf ./output "1-3,4-6,7-9"
每 3 页拆分一次
python scripts/split_pdf.py input.pdf ./output 3
输出:文件命名为 {original_name}page{N}.pdf 或 {original_name}part{N}.pdf
合并 PDF
将多个 PDF 文件合并为一个。
脚本:scripts/merge_pdfs.py
用法:
python scripts/merge_pdfs.py <output_pdf> <input_pdf1> <input_pdf2> [<input_pdf3> ...]
示例:
按顺序合并三个 PDF
python scripts/merge_pdfs.py output.pdf file1.pdf file2.pdf file3.pdf
注意:PDF 按命令行中指定的顺序进行合并。
依赖
所有脚本都需要 pypdf 库:
pip install pypdf
如果使用外部管理的 Python 环境,请先创建虚拟环境:
python3 -m venv venv source venv/bin/activate pip install pypdf