一个开源PDF处理工具,QPDF
PDF 是日常工作和学习中不可或缺的文件格式,但它的编辑和处理却常常让人头疼。qpdf 是一个功能强大的命令行工具,专注于 PDF 文件的转换和操作。它小巧、免费、跨平台,特别适合开发者和技术人员。在面对 PDF 操作时,许多工具要么功能有限,要么收费昂贵,而 qpdf 则显得独树一帜。它的核心优势包括:
开源且轻量:工具小巧,仅占用极少的磁盘空间。
功能全面:支持加密、解密、拆分、合并、压缩等操作。
开发友好:纯命令行,易于脚本集成。
工具下载地址: https://github.com/qpdf/qpdf/releases
1. 查看 PDF 信息
BASH
qpdf --show-pages input.pdf
显示 PDF 的页面结构、书签、加密信息等。
BASH
qpdf --check input.pdf
检查 PDF 文件的完整性(是否有损坏)。
2. 解密 PDF
BASH
qpdf --password=原密码 --decrypt input.pdf output.pdf
移除 PDF 的密码保护(需知道原密码)。
3. 加密 PDF
BASH
qpdf --encrypt 用户密码 所有者密码 256 -- input.pdf output.pdf
使用 AES-256 加密 PDF,可设置:
用户密码:打开文件需要的密码。
所有者密码:控制编辑/打印权限的密码。
权限控制(可选参数,加在 -- 前):
--allow-print=y|n:是否允许打印。
--allow-modify=y|n:是否允许修改。
4. 合并 PDF
BASH
qpdf --empty --pages file1.pdf file2.pdf -- combined.pdf
将 file1.pdf 和 file2.pdf 合并为 combined.pdf。
--empty 表示从空白文件开始合并。
5. 拆分 PDF
BASH
qpdf input.pdf --pages input.pdf 1-5 -- part1.pdf
qpdf input.pdf --pages input.pdf 6-z -- part2.pdf
qpdf --page-labels=none --split-pages=5 input.pdf output_%d.pdf
将 input.pdf 拆分为:
part1.pdf(第 1-5 页)。
part2.pdf(第 6 页到末尾)。
按每5页拆分成多个独立文件,若原文件有 12 页,会生成 output_1.pdf(1-5页)、output_2.pdf(6-10页)、output_3.pdf(11-12页)
6. 提取部分页面
BASH
qpdf input.pdf --pages input.pdf 1,3,5-8 -- output.pdf
提取指定页面(如第 1、3、5-8 页)到新文件。
7. 旋转页面
BASH
qpdf input.pdf --rotate=+90:1,2 --rotate=-90:3 -- output.pdf
旋转指定页面:
+90:1,2:第 1、2 页顺时针旋转 90°。
-90:3:第 3 页逆时针旋转 90°。
8. 修复损坏的 PDF
BASH
qpdf --repair input.pdf output.pdf
尝试修复损坏的 PDF 文件。
9. 线性化(Web 优化)
BASH
qpdf --linearize input.pdf output.pdf
生成适合网页快速加载的 PDF(流式加载)。
10. 压缩/优化 PDF
BASH
qpdf --compress-streams=y --object-streams=generate input.pdf output.pdf
通过压缩流和对象重组减小文件大小。
11. 移除注释/水印
BASH
qpdf --remove-annotations=input.pdf output.pdf
删除 PDF 中的所有注释(如批注、标记)。
常用选项
--verbose:显示详细处理信息。
--progress:显示进度条。
--replace-input:直接覆盖输入文件(谨慎使用!)。
注意事项
大部分操作需要输出到新文件(不支持直接修改原文件)。
加密/解密时注意密码和权限设置。
合并/拆分时确保页面范围正确(如 1-z 表示所有页)。
更多详细用法可通过 qpdf --help 或官方文档查看。
