ghostscript 仅从 pdf 中删除彩色文本

ghostscript to remove only colored text from pdf

我正在阅读 PDF 文件。我想删除任何彩色文本(即只保留黑色文本和图像)我试过 ghostscript

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

它成功删除了所有文本,并完整保留图像,我如何修改 gs 命令以仅删除彩色文本(红色、蓝色...)。

如果有其他模块可以做到这一点,我愿意接受建议

执行此操作的设备没有该功能,因此您无法修改 Ghostscript 命令行来执行您想要的操作。

您可以通过三种方式在 Ghostscript 中解决此问题;

  • 您可以修改用 PostScript 编写的 PDF 解释器
  • 你可以修改pdfwrite设备,它是用C写的
  • 你可以修改过滤设备,也是用C写的

无论使用哪种工具,都需要考虑一些要点。首先, 'coloured text' 或 'black text and images' 是什么意思?

PDF 规范允许在各种不同的颜色 space 中指定颜色。 Gray, RGB, CMYK, Lab, CalGray, CalRGB, ICCBased, Separation, DeviceN 此外还有 Indexed color spaces,它们可能具有之前任何 spaces 的基础 space和图案颜色 spaces.

在这些 space 中,您打算 'black' 考虑什么?显然 DeviceGray 很简单,0 是黑色,其他都是灰色阴影,但是 RGB 呢?您是否只将 0,0,0 视为黑色?如果它是基于 ICC 的 space 怎么办?

文本可以有两种 颜色,一种描边和一种填充颜色,并且可以不同地指定它们。它们甚至可以指定为不同的颜色 spaces。你需要考虑你打算如何处理它。