Ghostscript用于从PDF中仅删除彩色文本。

3

我正在阅读PDF文件。我想要删除任何有颜色的文字(只保留黑色文字和图片)。我尝试了Ghostscript。

gs -o no-more-texts.pdf -sDEVICE=pdfwrite -dFILTERTEXT   Original.pdf

这个命令可以成功删除所有的文字,但保留图片不受影响。如果我想要修改命令,只删除带颜色的文字(例如红色、蓝色等),应该怎么做呢?

如果有其他模块能够实现这个功能,我也很愿意听取建议。

1个回答

1
这个设备没有这个功能,所以您无法修改Ghostscript命令行以执行您想要的操作。
在Ghostscript中,有三种方法可以解决这个问题:
- 您可以修改用PostScript编写的PDF解释器。 - 您可以修改用C编写的pdfwrite设备。 - 您可以修改用C编写的过滤设备。
无论使用哪种工具,都需要考虑一些要点。首先,您所说的“彩色文本”或“黑色文本和图像”到底是什么意思?
PDF规范允许在各种不同的颜色空间中指定颜色。灰度、RGB、CMYK、Lab、CalGray、CalRGB、ICCBased、Separation、DeviceN除外,还有可能具有任何前面空间的基本空间的索引颜色空间和模式颜色空间。
在每个空间中,您将考虑什么是“黑色”?显然,DeviceGray很容易,0是黑色,其他任何颜色都是灰色,但是RGB呢?您只会将0,0,0视为黑色吗?如果它是一个ICCBased空间呢?

文本可以有两种颜色,描边和填充颜色可以分别指定。它们甚至可以在不同的颜色空间中指定。您需要考虑如何处理它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接