我需要做些什么才能使透明度发挥作用

时间:2014-05-05 19:27:25

标签: pdf acrobat

我有PDF,我知道它有透明度,但Acrobat pro渲染透明部分是实体。如果我在chrome中查看它看起来是正确的。如果我进行输出预览并更改"显示"选项"不是DeviceCMYK"它预览透明度,但这实际上并没有改变PDF,我无法弄清楚如何删除CMYK以使其透明。

Here is the pdf again

我已经搞砸了这一点。看起来有一些淘汰赛分组,如何在Acrobat中更改?

我似乎也能够在Acrobat中剪切图像,然后将其粘贴回来,我得到了我需要的透明度。这种变化是什么?如何在不必剪切,粘贴和重新定位的情况下进行更改?

1 个答案:

答案 0 :(得分:4)

  

Acrobat pro将透明部分渲染为实体。如果我在Chrome中查看它看起来是正确的。

就像the question Transparent images in PDF的情况一样,问题确实是透明组中的淘汰赛设置。一些观众似乎忽略了淘汰设置,特别是内置的Chrome PDF预览器,但正确地受到(当前)Adobe Acrobat和Reader版本的尊重。

与其他问题的情况相反,所讨论的组不是页面组而是一组特定的xobject。由于该对象包含透明图像和OP希望透过的图像,但观察到的问题非常相似。

  

如何在Acrobat中更改此内容?

我发现在Acrobat中没有明显的方法来编辑透明组设置。但遗憾的是我在这里只有9.5版本,也许新版本允许这样做。

  

我似乎也能够在Acrobat中剪切图像,然后将其粘贴回来,我得到了我需要的透明度。这是什么变化

最有可能的是,这会将图像从图像共享的挖空透明组中切割出来(实际照片和要用于变暗的部分透明纯黑图像),并将其粘贴回来导致这两个图像驻留在不同的透明度组;因此,他们不能再互相攻击了。

  

如何在不必剪切,粘贴和重新定位的情况下更改此内容

您可以轻松修补PDF,从而从透明度组定义中删除 K 挖空条目,请参阅下文。

PDF结构

OP提供的PDF的第1页内容包含相当多的对象层次结构:

  • 即时页面内容不属于透明度组,并且包含一个图像xobject Im0 和两个形式xobjects Fm1 Fm2 。< / LI>
  • 表单xobject Fm1 具有挖空透明度条目,并包含一个表单xobject HiQPdf_fnebajfcjaojkndmodkafcbjdllengkl
  • 表单xobject HiQPdf_fnebajfcjaojkndmodkafcbjdllengkl 没有自己的条目,但是是其父级淘汰透明组的一部分;它包含两个图像xobjects HiQPdf_fhhbjncnhiipkdhfommnfnbdgijfcjpi HiQPdf_ibbjecddhjhkknkjbhmbefkgfbbmakep ,后者覆盖前者的顶部。
  • 图片xobject HiQPdf_fhhbjncnhiipkdhfommnfnbdgijfcjpi 包含一些房子的照片,没有透明度。
  • 图片xobject HiQPdf_ibbjecddhjhkknkjbhmbefkgfbbmakep 为黑色,透明度为 SMask ,值为162无处不在。

有点透明的图像 HiQPdf_ibbjecddhjhkknkjbhmbefkgfbbmakep 以及它所涵盖的图像 HiQPdf_fhhbjncnhiipkdhfommnfnbdgijfcjpi 都在 Fm1 提供的同一个挖空透明度组中。因此,透明度不允许 HiQPdf_fhhbjncnhiipkdhfommnfnbdgijfcjpi 中的房子闪耀,但 Fm1 背后的内容。

Fm1 背后没有任何内容,其中PDF表示白色背景。结合 HiQPdf_ibbjecddhjhkknkjbhmbefkgfbbmakep 的黑度和常量的 SMask 值162,这会产生您在Adobe Reader中看到的灰色条:

SODemo.pdf

删除淘汰赛

Fm1 的淘汰赛透明度组字典位于对象31 0中:

31 0 obj
<</K true/S/Transparency>>
endobj 

通过用空格覆盖/K true,PDF会被修补以在此处拥有非淘汰组,结果是:

SODemo.pdf patched