为什么 Adob​​e Acrobat 的“地图颜色”修复程序不会改变 PDF 的文本颜色?

为什么 Adob​​e Acrobat 的“地图颜色”修复程序不会改变 PDF 的文本颜色?

请参阅下面的屏幕截图。我使用的是 Adob​​e Acrobat Pro DC 版本 2019.010.20064。相关 PDF 可以下载这里

我正在尝试使用mrserge 的方法将书籍默认的 (C, M, Y, K) = (99%, 98%, 18%, 6%)(即深紫色)转换为(90, 0, 90, 0)(绿色)。我单击“确定”并单击“修复”后,Adobe Acrobat 执行了修复,但颜色没有改变。

在此处输入图片描述

答案1

改变颜色空手

我无法提供有关 Adob​​e 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.102G全局(在所有文件上)。当然,始终可以使用任何能够处理二进制文件的编辑器:

    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

相关内容