【问题标题】:ghostscript to remove only colored text from pdfghostscript 仅从 pdf 中删除彩色文本
【发布时间】:2020-04-27 19:18:58
【问题描述】:
我正在阅读 PDF 文件。我想删除任何彩色文本(即只留下黑色文本和图像)我尝试了 ghostscript
gs -o no-more-texts.pdf -sDEVICE=pdfwrite -dFILTERTEXT Original.pdf
它成功删除了所有文本,并保持图像完好无损,如何修改 gs 命令以仅删除彩色文本(红色,蓝色...)。
如果有其他模块能够做到这一点,我愿意接受建议
【问题讨论】:
标签:
python
pdf
ghostscript
【解决方案1】:
执行此操作的设备没有该功能,因此您无法修改 Ghostscript 命令行来执行您想要的操作。
您可以在 Ghostscript 中通过三种方式解决此问题;
- 您可以修改 PDF 解释器,它是用 PostScript 编写的
- 您可以修改 pdfwrite 设备,它是用 C 编写的
- 您可以修改过滤设备,该设备也是用C编写的。
无论您使用哪种工具,都需要考虑一些要点。首先,您所说的“彩色文本”或“黑色文本和图像”是指什么确切?
PDF 规范允许在各种不同的颜色空间中指定颜色。 Gray、RGB、CMYK、Lab、CalGray、CalRGB、ICCBased、Separation、DeviceN,此外还有索引颜色空间(可能具有任何先前空间的基本空间)和图案颜色空间。
你打算在这些空间中的每一个中考虑什么“黑色”?显然 DeviceGray 很简单,0 是黑色,其他都是灰色阴影,但是 RGB 呢?您是否只会将 0,0,0 视为黑色?如果是 ICCBased 空间呢?
文本可以有两种颜色,一种笔触和一种填充颜色,它们可以有不同的指定。它们甚至可以在不同的颜色空间中指定。您需要考虑您打算如何处理。