pdftk 命令提供了许多处理 PDF 的命令行操作,包括合并页面、加密文件、添加水印、压缩文件,甚至还有修复 PDF。

虽然 PDF 通常被认为是相当稳定的文件,但在 Linux 和其他系统上你可以做很多处理。包括合并、拆分、旋转、拆分成单页、加密和解密、添加水印、压缩和解压缩,甚至还有修复。 pdftk 命令能执行所有甚至更多操作。

“pdftk” 代表 “PDF 工具包”(PDF tool kit),这个命令非常易于使用,并且可以很好地操作 PDF。例如,要将独立的文件合并成一个文件,你可以使用以下命令:

$ pdftk pg1.pdf pg2.pdf pg3.pdf pg4.pdf pg5.pdf cat output OneDoc.pdf

OneDoc.pdf 将包含上面显示的所有五个文档,命令将在几秒钟内运行完毕。请注意,cat 选项表示将文件连接在一起,output 选项指定新文件的名称。

你还可以从 PDF 中提取选定页面来创建单独的 PDF 文件。例如,如果要创建仅包含上面创建的文档的第 1、2、3 和 5 页的新 PDF,那么可以执行以下操作:

$ pdftk OneDoc.pdf cat 1-3 5 output 4pgs.pdf

另外,如果你想要第 1、3、4 和 5 页(总计 5 页),我们可以使用以下命令:

$ pdftk OneDoc.pdf cat 1 3-end output 4pgs.pdf

你可以选择单独页面或者页面范围,如上例所示。

下一个命令将从一个包含奇数页(1、3 等)的文件和一个包含偶数页(2、4 等)的文件创建一个整合文档:

$ pdftk A=odd.pdf B=even.pdf shuffle A B output collated.pdf

请注意,shuffle 选项使得能够完成整合,并指示文档的使用顺序。另请注意:虽然上面建议用的是奇数/偶数页,但你不限于仅使用两个文件。

如果要创建只能由知道密码的收件人打开的加密 PDF,可以使用如下命令:

$ pdftk prep.pdf output report.pdf user_pw AsK4n0thingGeTn0thing

选项提供 40(encrypt_40bit)和 128(encrypt_128bit)位加密。默认情况下使用 128 位加密。

你还可以使用 burst 选项将 PDF 文件分成单个页面:

$ pdftk allpgs.pdf burst$ ls -ltr *.pdf | tail -5-rw-rw-r-- 1 shs shs   22933 Aug  8 08:18 pg_0001.pdf-rw-rw-r-- 1 shs shs   23773 Aug  8 08:18 pg_0002.pdf-rw-rw-r-- 1 shs shs   23260 Aug  8 08:18 pg_0003.pdf-rw-rw-r-- 1 shs shs   23435 Aug  8 08:18 pg_0004.pdf-rw-rw-r-- 1 shs shs   23136 Aug  8 08:18 pg_0005.pdf

pdftk 命令使得合并、拆分、重建、加密 PDF 文件非常容易。要了解更多选项,请查看 PDF 实验室中的示例页面。

本文转自:https://linux.cn/article-11230-1.html

在Linux命令行中操作PDF相关推荐

  1. linux命令操作改变图片大小,如何在Linux命令行中优化和压缩JPEG或PNG图像

    原标题:如何在Linux命令行中优化和压缩JPEG或PNG图像 来自:Linux迷https://www.linuxmi.com/linux-yasuo-jpeg-png.html 您有很多图像,并且 ...

  2. linux命令行 正则,在Linux命令行中使用正则表达式

    上一节我们介绍过grep命令在搜索文本信息时的基本用法,其实,grep命令还可以配合正则表达式执行更加复杂的搜索操作. 本节我们将对如何在Linux命令行中使用正则表达式进行介绍. 所谓正则表达式,就 ...

  3. linux命令行的操作符,如何在Linux命令行中进行基本的数学运算

    原标题:如何在Linux命令行中进行基本的数学运算 Linux bash或命令行允许您执行基本和复杂的算术和布尔运算.像expr,jot,bc和factor等命令可以帮助您找到复杂问题的最优数学解决方 ...

  4. linux 快速找出上个命令,Linux 命令行快捷操作键

    原标题:Linux 命令行快捷操作键 涉及在linux命令行下进行快速移动光标.命令编辑.编辑后执行历史命令.Bang(!)命令.控制命令等.让basher更有效率. 常用ctrl+左右键:在单词之间 ...

  5. 如何在 Linux 命令行中终止进程?

    如果你想在linux上停止某个进程,你会怎么操作? 如果命令/进程在前台运行,您可以使用 Ctrl+C 终端快捷方式,但是,如果进程不可见(在后台运行),您可以使用专用命令"杀死它" ...

  6. 如何在 Linux 命令行中切换用户

    如何在 Linux 命令行中切换用户 我在cnaaa上购买了云服务器. Linux 系统有不同类型的用户,用户有不同类型的权限. 并非所有用户都可以执行所有命令,也不是所有用户都可以切换到其他用户.我 ...

  7. linux php 指令,在 Linux 命令行中使用和执行 PHP 代码(一)

    PHP是一个开源服务器端脚本语言,最初这三个字母代表的是"Personal Home Page",而现在则代表的是"PHP:Hypertext Preprocessor& ...

  8. linux命令行中,双引号中的感叹号将被解释为历史命令

    linux命令行中,双引号中的感叹号将被解释为历史命令. 命令: test -e ttt/ && echo "file exist!" || echo " ...

  9. linux裁剪图片的软件,ImageMagick教程:如何在Linux命令行中剪裁图像

    问题:我想要去除图像文件中的白色空白,有没有什么便捷的方法能在Linux命令行中对图像文件进行剪裁? 当涉及到在Linux中转换或编辑图像文件时,ImageMagick毫无疑问是最为熟知的一体化软件之 ...

  10. python object单引号变成双引号_Python学习第163课--Linux命令行中的单引号和双引号...

    [每天几分钟,从零入门python编程的世界!] 我们都知道引号的作用就是为了引用,比如引用别人说的话,这句话就放在引号里面. 而Linux命令行中的single quote(单引号)和dubble ...

最新文章

  1. JBPM使用assignHandler进行用户分派思路
  2. 2015.09.06 C++笔记
  3. 使用JDBC操作基于Oracle的CLOB,BLOB字段类型
  4. 后置通知(After Advice)
  5. 使用certbot自动申请续期SSL证书(Ubuntu)
  6. 139_Power BI之某制造企业HR相关数据年度复盘
  7. 安卓应用安全指南 4.4.1 创建/使用服务 示例代码
  8. 华为杯数学建模优秀论文_数学建模经典例题(2016年国赛B题与优秀论文)
  9. 网络编程之 哈希表原理讲解 来自老司机的源码
  10. px2rem-loader(Vue:移动端自适应,px自动转化)
  11. java 算法比较,java几种面消隐算法的比较
  12. BZOJ1588(HNOI2002)营业额统计
  13. 适配器模式之访问者模式
  14. Java并发编程之美系列汇总
  15. 非满管电磁流量计测量平均流速
  16. vs2013的matconvnet_MatConvNet 安装使用
  17. python自动化英语查词
  18. CTFSHOW 愚人节欢乐赛WP
  19. 浪潮服务器系统安装操作,浪潮服务器系统安装操作
  20. VS2013MFC对话框工程学习笔记二 - 了结布局和一些基本的窗口组件

热门文章

  1. 简单明了的网站结构设计呦!
  2. 光荣使命微信版服务器,腾讯光荣使命手游微信可以和QQ一起玩么 微信QQ帐号数据互通么...
  3. 关于 beyondcompare 只有FTP没有 sftp 的解决方案
  4. 【C++】数字的组合排列情况
  5. 计算机专业申请美本容易吗,美国纽约大学计算机科学专业申请难度大吗?看完录取要求就明白了...
  6. Python机器学习之Logistic回归
  7. Windows热键注册原理
  8. b 树 mysql联合索引_Mysql之B+树索引实战
  9. 女生应该读的30本书
  10. [BZOJ1864][CODEVS2462]三色二叉树