请参阅下面的屏幕截图。我使用的是 Adobe Acrobat Pro DC 版本 2019.010.20064。相关 PDF 可以下载这里。
我正在尝试使用mrserge 的方法将书籍默认的 (C, M, Y, K) = (99%, 98%, 18%, 6%)(即深紫色)转换为(90, 0, 90, 0)(绿色)。我单击“确定”并单击“修复”后,Adobe Acrobat 执行了修复,但颜色没有改变。
答案1
改变颜色空手
我无法提供有关 Adobe Acrobat Pro 的说明,但是,我可以建议一个使用开源程序的程序和一些对 OP 文档有效的具体提示,但也许对其他读者也有用。
PDF 文件一旦解压缩,就会以某种方式人类可读。
首先使用以下命令解压文件pdftk:
pdftk OriginalFile.pdf output Uncompressed.pdf uncompress
然后我们可以开始查看内部,手动(!)进行更改...好吧,不是真的手动。
我们想替换整个文档中的颜色。
在 OP 案例中以及在解压后的文件中,颜色存储为 rgb (0..1,0..1,0..1)。我们找不到像 (C, M, Y, K) = (63%, 63%, 0%, 51%) 这样的值,而是像 (r,g,b)=(0.181 0.181 0.488) 这样的值。在 OP 文件中,出现这种情况的行如下
/CS0 cs 0.181 0.181 0.488 scn
老实说,它们的数量很多(2048)。我们只需一个命令就可以一次性替换它们。在这里我们使用
sed
s0.181 0.181 0.488
用字符串替换字符串的每次出现0.102 1.000 0.102
,G全局(在所有文件上)。当然,始终可以使用任何能够处理二进制文件的编辑器:sed 's/0.181 0.181 0.488/0.102 1.000 0.102/g' uncompressed.pdf > newfile.pdf
为了有选择地仅在某些地方替换该颜色字符串,我们需要确定位置。
笔记
该颜色字符串有几种不同的出现方式,对文本产生不同的作用。
1 /CS1 cs 0.181 0.181 0.488 scn # Logo on page 5
96 /CS0 CS 0.181 0.181 0.488 SCN # No visual effect
826 /CS0 cs 0.181 0.181 0.488 scn # Headers, page n., some(not all) other parts
1095 0.181 0.181 0.488 scn # The other text
可以单独对它们采取行动,例如
sed 's/CS0 cs 0.181 0.181 0.488 scn/CS0 cs 0.900 0.000 0.000 scn/g' uncomp.pdf