【Linux】处理和操作 PDF 文神器pdftk:支持合并、拆分、加密、解密、旋转和修复 PDF 文件,还可以提取页面、添加水印等

pdftk(PDF Toolkit)是一个强大的命令行工具,用于处理和操作 PDF 文件。它可以合并、拆分、加密、解密、旋转和修复 PDF 文件,还可以提取页面、添加水印等。pdftk 是处理 PDF 文件的利器,适用于各种文档管理和操作需求。本文将详细介绍 pdftk 命令的安装、基本用法和高级用法,并通过具体示例帮助你快速上手。


🧑 博主简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。CSDN优质创作者,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C++/Java/Python/Linux/AI等方面的服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:gylzbk

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

在这里插入图片描述

一、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.pdfpart2.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.pdfpage_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 文档管理和操作提供有力支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I'mAlex

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值