pdftk
(PDF Toolkit)是一个强大的命令行工具,用于处理和操作 PDF 文件。它可以合并、拆分、加密、解密、旋转和修复 PDF 文件,还可以提取页面、添加水印等。pdftk
是处理 PDF 文件的利器,适用于各种文档管理和操作需求。本文将详细介绍 pdftk
命令的安装、基本用法和高级用法,并通过具体示例帮助你快速上手。
🧑 博主简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。CSDN优质创作者,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C++/Java/Python/Linux/AI等方面的服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:
gylzbk
)
💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。
【Linux】处理和操作 PDF 文神器pdftk:支持合并、拆分、加密、解密、旋转和修复 PDF 文件,还可以提取页面、添加水印等
一、pdftk
命令概述
1. 功能描述
pdftk
可以处理和操作 PDF 文件,包括合并、拆分、加密、解密、旋转、修复、提取页面、添加水印等。它是一个多功能的 PDF 工具,适用于各种文档管理和操作需求。
2. 基本语法
pdftk [input PDF] [operation] [output PDF] [options]
二、安装 pdftk
pdftk
可以在多个操作系统上安装,以下是一些常见的安装方法:
1. 在 Debian/Ubuntu 上安装
sudo apt-get update
sudo apt-get install pdftk
2. 在 CentOS/RHEL 上安装
使用 EPEL
仓库安装:
sudo yum install epel-release
sudo yum install pdftk
3. 在 Fedora 上安装
sudo dnf install pdftk
4. 在 macOS 上安装
使用 Homebrew 安装:
brew install pdftk-java
5. 从源代码安装
如果你的系统没有对应的包管理器,也可以从源代码安装:
git clone https://gitlab.com/pdftk-java/pdftk.git
cd pdftk
./gradlew shadowJar
sudo cp build/libs/pdftk-all.jar /usr/local/bin/pdftk
三、pdftk
命令的基本用法
1. 合并 PDF 文件
使用 pdftk
命令可以合并多个 PDF 文件:
pdftk file1.pdf file2.pdf cat output merged.pdf
示例
pdftk part1.pdf part2.pdf cat output complete.pdf
这个命令会将 part1.pdf
和 part2.pdf
合并成 complete.pdf
。
2. 拆分 PDF 文件
使用 pdftk
命令可以将一个 PDF 文件拆分为多个单页 PDF 文件:
pdftk input.pdf burst output page_%02d.pdf
示例
pdftk document.pdf burst output page_%02d.pdf
这个命令会将 document.pdf
拆分为多个单页 PDF 文件,文件名格式为 page_01.pdf
、page_02.pdf
等。
3. 提取页面
使用 pdftk
命令可以从 PDF 文件中提取特定页面:
pdftk input.pdf cat 1-3 output extracted.pdf
示例
pdftk document.pdf cat 1-5 output first_five_pages.pdf
这个命令会从 document.pdf
中提取前五页,生成 first_five_pages.pdf
。
4. 旋转页面
使用 pdftk
命令可以旋转 PDF 文件中的页面:
pdftk input.pdf cat 1-endright output rotated.pdf
示例
pdftk document.pdf cat 1-endright output rotated_document.pdf
这个命令会将 document.pdf
中的所有页面顺时针旋转 90 度,生成 rotated_document.pdf
。
四、常见选项
1. 加密 PDF 文件
使用 pdftk
命令可以加密 PDF 文件:
pdftk input.pdf output encrypted.pdf owner_pw OWNER_PASS user_pw USER_PASS
示例
pdftk document.pdf output encrypted_document.pdf owner_pw ownerpass user_pw userpass
这个命令会将 document.pdf
加密,生成 encrypted_document.pdf
,所有者密码为 ownerpass
,用户密码为 userpass
。
2. 解密 PDF 文件
使用 pdftk
命令可以解密 PDF 文件:
pdftk input.pdf input_pw PASSWORD output decrypted.pdf
示例
pdftk encrypted_document.pdf input_pw userpass output decrypted_document.pdf
这个命令会将 encrypted_document.pdf
解密,生成 decrypted_document.pdf
,用户密码为 userpass
。
3. 添加水印
使用 pdftk
命令可以在 PDF 文件中添加水印:
pdftk input.pdf background watermark.pdf output watermarked.pdf
示例
pdftk document.pdf background watermark.pdf output watermarked_document.pdf
这个命令会在 document.pdf
中添加 watermark.pdf
作为背景水印,生成 watermarked_document.pdf
。
4. 修复损坏的 PDF 文件
使用 pdftk
命令可以修复损坏的 PDF 文件:
pdftk broken.pdf output fixed.pdf
示例
pdftk corrupted_document.pdf output repaired_document.pdf
这个命令会修复 corrupted_document.pdf
,生成 repaired_document.pdf
。
五、高级用法
1. 提取 PDF 元数据
可以使用 pdftk
提取 PDF 文件的元数据:
pdftk input.pdf dump_data output metadata.txt
示例
pdftk document.pdf dump_data output metadata.txt
这个命令会提取 document.pdf
的元数据,并保存到 metadata.txt
文件中。
2. 更新 PDF 元数据
可以使用 pdftk
更新 PDF 文件的元数据:
pdftk input.pdf update_info metadata.txt output updated.pdf
示例
pdftk document.pdf update_info new_metadata.txt output updated_document.pdf
这个命令会使用 new_metadata.txt
中的元数据更新 document.pdf
,生成 updated_document.pdf
。
3. 提取 PDF 附件
可以使用 pdftk
提取 PDF 文件中的附件:
pdftk input.pdf unpack_files
示例
pdftk document.pdf unpack_files
这个命令会提取 document.pdf
中的所有附件,并保存到当前目录。
4. 添加书签
可以使用 pdftk
在 PDF 文件中添加书签:
pdftk input.pdf update_info_utf8 bookmarks.txt output bookmarked.pdf
示例
pdftk document.pdf update_info_utf8 bookmarks.txt output bookmarked_document.pdf
这个命令会使用 bookmarks.txt
中的书签信息更新 document.pdf
,生成 bookmarked_document.pdf
。
六、示例场景
1. 合并多个 PDF 文件
通过 pdftk
合并多个 PDF 文件:
pdftk part1.pdf part2.pdf part3.pdf cat output complete.pdf
2. 拆分 PDF 文件为单页 PDF
通过 pdftk
将 PDF 文件拆分为多个单页 PDF 文件:
pdftk document.pdf burst output page_%02d.pdf
3. 提取特定页面
通过 pdftk
从 PDF 文件中提取特定页面:
pdftk document.pdf cat 10-20 output extracted_pages.pdf
4. 加密 PDF 文件
通过 pdftk
加密 PDF 文件,设置所有者密码和用户密码:
pdftk document.pdf output encrypted_document.pdf owner_pw ownerpass user_pw userpass
5. 添加水印
通过 pdftk
在 PDF 文件中添加背景水印:
pdftk document.pdf background watermark.pdf output watermarked_document.pdf
七、总结
pdftk
是一个强大的命令行工具,能够处理和操作 PDF 文件,包括合并、拆分、加密、解密、旋转、修复、提取页面、添加水印等。通过本文的介绍和具体示例,希望能够帮助你熟练掌握 pdftk
命令的基本用法和一些高级功能,为你的 PDF 文档管理和操作提供有力支持。