需要把 PDF 转成文本、拆出其中几页、或者把几份文档合成一份时,很多人第一反应是掏钱买 Adobe Acrobat,或者上网找一个来路不明的在线转换站——后者往往意味着把文件上传给陌生服务器。

其实还有第三条路。只要愿意用命令行,无论是 Linux、macOS 还是 Windows 的 WSL 环境,都能完全免费地完成这些操作,而且文件全程留在本地。How-To Geek 作者大卫·德洛尼(David Delony)整理了七个足够替代 Acrobat 日常功能的命令行工具,其中多数来自 poppler-utils 与 qpdf 两个软件包。
pdftotext:把 PDF 变成纯文本
这是 poppler-utils 包里的实用工具,作用是提取 PDF 中的文字并写入 .txt 文件。
在 Debian 或 Ubuntu 上安装:
sudo apt install poppler-utils
转换命令:
pdftotext file.pdf file.txt
如果不指定输出文件名,工具会沿用原文件名,只替换扩展名。生成的文本可以直接用分页器或文本编辑器查看。
pdftohtml:转成网页格式
同样出自 poppler-utils,用法与 pdftotext 完全一致,区别只在输出格式变成 HTML:
pdftohtml file.pdf file.html
pdfunite:合并多份文档
需要把几份 PDF 拼成一份时用它。前面列出待合并的文件,最后一个参数是输出文件名:
pdfunite file1.pdf file2.pdf combined.pdf
文件数量没有限制,继续往前追加即可:
pdfunite file1.pdf file2.pdf file3.pdf combined.pdf
pdftoppm:把每一页导出成图片
想把 PDF 的某一页发到邮件或社交平台,转成图片最省事。这个工具默认输出 PPM 格式,但可以通过命令行参数指定其他格式。以 PNG 为例:
pdftoppm -png introductory-statistics-2e_-_WEB.pdf test
执行后,PDF 的每一页都会生成一个以 test 为前缀的 PNG 文件。
qpdf:功能最全面的那一个
qpdf 用于对输入的 PDF 做各种变换后输出为新文件,许多 Linux 发行版已经预装。手动安装同样一行命令:
sudo apt install qpdf
它最实用的能力之一是抽取页面区间。比如取出第 5 到第 10 页:
qpdf --empty --pages introductory-statistics-2e_-_WEB.pdf 5-10 -- excerpt.pdf
这里的 --empty 占据了输入文件的位置;--pages 之后跟输入文件名与页码范围,接着是两个连字符 --,最后才是输出文件名。同样的效果也可以这样写:
qpdf introductory-statistics-2e_-_WEB.pdf --pages . 5-10 -- excerpt.pdf
如果只想要第 5 页和第 10 页这两页,把连字符换成逗号即可:
qpdf introductory-statistics-2e_-_WEB.pdf --pages . 5,10 -- excerpt.pdf
--pages 也能用来合并文档:
qpdf --empty --pages doc1.pdf doc2.pdf doc3.pdf -- output.pdf
两种能力还能叠加。比如从每份文档里各取前三页:
qpdf --empty --pages doc1.pdf 1-3 doc2.pdf 1-3 doc3.pdf 1-3 -- output.pdf
另一个容易被忽略的功能是「线性化」,也就是针对网页浏览做优化。线性化之后的 PDF 会先加载首页,不必等整份文档下载完毕,上传大文件时尤其有用:
qpdf --linearize big_file.pdf web_friendly.pdf
pdfseparate:把文档拆成单页
与 pdfunite 相对,pdfseparate 负责把一份 PDF 拆成多个独立文档:
pdfseparate file.pdf file-%d.pdf
其中 %d 的写法与 C 语言 printf 的格式说明符类似,工具会自动把它替换成对应页码。
只想抽取第 3 到第 5 页:
pdfseparate -f 3 -l 5 file.pdf file-%d.pdf
相比 qpdf,这套参数写法更接近常见惯例。
img2pdf:把一堆图片打包成 PDF
顾名思义,它做的是反向工作。安装方式同样简单:
sudo apt install img2pdf
把当前目录下所有 JPEG 图片合成一份 PDF 相册:
img2pdf *.jpg -o my_pictures.pdf
执行过程中,工具会根据图片情况输出相应的警告或错误提示。
小结
这七个工具覆盖了文本提取、格式转换、合并、拆分、页面抽取、图片互转等日常高频需求,全部免费且开源。花一点时间熟悉参数写法之后,处理 PDF 不必再依赖 Adobe 的订阅服务,也不用把文件交给在线转换网站。
来源:How-To Geek







