最近有读者在 Slack 群中讨论,如何拷贝 PDF 中的图像?1讨论很快走向两个方向,也代表了主流的两种思路:要么直接认栽,掏钱买下 Adobe Acrobat Pro 或 PDF Expert 等阅读器,它们本质上是把 PDF 当成 Word 处理,自然也能拷贝 PDF 中的图像;要么,开始折腾各种命令行工具,尝试从 PDF 这锅大乱炖里捞出图像。
前一种方案显然太贵,而且就算你不介意花钱,恐怕这几个阅读器本身也不讨喜,我就认识一个伙计,晾着单位采购的天价 Acrobat Pro 不用,欢欢喜喜地用第三方阅读器(比如 Skim)。
后一类方案暂无任何成果,而 PDF 的结构远比一般人想象的更复杂,就我所知,imagemagic 和 ghostscript 这两把利刃都做不到——如果你不知道它们是什么,更加说明后一类方案对你来说一点也不实际——是否还有研究的必要,也令人生疑。2
然而我们似乎忘了更简单的方法。问题是什么?是如何拷贝图像。“拷贝”是任何一个 PDF 阅读器——除非 PDF 自身被加密,不允许你拷贝,但那也多得是变通之道——的天然功能,既然文字可以,为何图像不行?
——答案是你没选中它。下面两张截图均来自原生预览工具 Preview,在右侧,选中图像后,就可以在右键上下文菜单中看到“Copy”项。
于是,问题变成了“如何选中图像”。还能怎么选呢?通常的做法就是把光标挪过去,瞄准一个点;或者拉一个框,打击一个面。在这两种方法都无法——偶尔也会瞎猫碰见死耗子——选中 PDF 中的图像时,我们就应该考虑不一样的选择:列选择。按住 ⌥Option
再尝试拉选框,你就进入了列选择模式,在文本编辑器中,列选择就像是纵向切片,而在 PDF 中,列选择则意味着精确选中一个矩形区域。
拓展阅读:
很凑巧,图片是矩形的。借助列选择,大致沿着图片周遭走一圈,通常就能精确选中它,随后再复制,就能得到原图。除非开发者刻意限制,否则列选择模式在任何 PDF 阅读器中都应当可以启用,理论上也不必为了一个图像拷贝功能而换阅读器。
惟需注意,拷贝的图像为富文本格式,可以直接粘贴到原生文本编辑器(需转到富文本格式)或 Word 文档中,但不能直接保存原图到桌面,有需要的读者可以自行搜索如何将富文本转为图片。