题图来自于NextDay
环境:
Windows 操作系统
Ghostscript 9.5.21
我在 从小洞补起 中提到过一种用脚本处理加密 PDF 文件的方法,这个工具软件就是 Ghostscript,通过命令行的形式可以将 PDF 转成为图像文件,并且支持部分加密的 PDF(这里的加密主要是指用数字证书做过签名)。
当时做这个的需求是因为,前端上传上来的附件格式有 PDF 和图片,但是对于后台工作人员来说,PDF 预览不是很方便,于是就需要将 PDF 进行转换,这样统一成图片格式,后台通过专用的看图软件可以方便地查看资料。
GhostScript 和 ImageMagick 一样使用起来也很简单,基本上可以用一句命令行搞定,但功能也是相当强大,PDF 也只是其中一部分,单看这个功能树就已经感受到它的强大了,更多请见官方文档2
对于新用户,官方也提供了一个「HOW TO USE」的 GuideLine3,从安装到使用,看这篇指引即可。
这里直接放上将 PDF 转换成 JPG 的一句话脚本,这次以 Windows 环境为例。
gs -sDEVICE=jpeg -r300 -o C:\dest\test_%d.jpg -dBATCH -dNOPAUSE C:\src\test.PDF
我们很快过一下其中几个参数:
-sDEVICE:输出设备,我们可以理解成文件格式+输出设备(包括打印机),详见 Devices 文档4
-r300:是指输出图像的 DPI,这里即是 300 DPI 的意思
-o:输出文件,可配合 -dBATCH (批处理) 和 -dNOPAUSE(每页无提示) 参数使用
这里只是用到了最常用的几个参数,如果你对输出图像有要求,比如字体、反锯齿,那可以用到更高阶的一些参数,比如 -dTextAlphaBits -dGraphicsAlphaBits 等等。
依旧用起来简单,但功能很强大对不对,这是我也是热爱脚本的原因之一,也是做产品的宗旨,降低学习成本,但功能上丝毫不含糊。
最后还是提醒一句,不是所有的 PDF 都能转换成功,即便是可以用 Adobe PDF Reader 打开的 PDF,官方也给出了说明,大意是「Adobe 比较‘宽容’」。
结合 如何用 ImageMagick 处理图片 中提到的 ImageMagick 的功能,来做个 PDF + 图片处理小能手吧。
P.S. 最近收到一位辉友的消息,用 ImageMagick 做出了很棒的 GIF 科普小动画👏(当然前提是画画技能超棒),好奇心+执行力,总是可以带来意想不到的惊喜,如果我的「HOW TO」系列也给你带来了一丝丝的帮助,可以通过留言告诉我,这样我会更加有动力写下去😊(最近写文比较懈怠,近期将慢慢恢复)
另,公众号文章支持「专辑」了,我的「HOW TO」系列也终于有了安身之处😄,欢迎大家点击「阅读原文」处查看。
GhostScript 下载地址:https://ghostscript.com/download/gsdnld.html ↩︎
GhostScript 官方文档:https://www.ghostscript.com/doc/9.52/Readme.htm ↩︎
GhostScript 用户指南:https://www.ghostscript.com/doc/9.52/Use.htm ↩︎
GhostScript 设备:https://www.ghostscript.com/doc/9.52/Devices.htm↩︎
关于「HOW TO」系列
这个系列的初衷,我在 回归初心 中提到的,因为平时写的关于「WHY」或者心理活动方面的文章,「HOW TO」系列更偏向于实用。另外一点在于,我发现,有些本行业内认为小儿科或者不值得一提的工具或者方法,对于大多数行业外的人来说,还是比较陌生的,本着「抛砖引玉」的想法,想让大家可以通过这些「砖」打开思路,也可以了解到一些平常不太接触得到的一些东西。
旧文参考:
发送给作者