【发布时间】:2020-06-26 02:06:11
【问题描述】:
我正在尝试获取 PDF 文件并为整个文档或页面设置不透明度级别。 PDF 始终是单页并包含矢量,但没有像this PDF 文件这样的光栅图像,并且可以具有 RGB 或 CMYK 颜色。在这种情况下,我尝试将不透明度级别设置为 0.5,以便所有内容都是半透明的。
我发现了很多关于为 PDF 添加水印的内容,我认为这更容易,因为内容已添加到 PDF,在我的情况下,我想修改 PDF 内容。我为 Ghostscript 找到了 these 惊人的透明度运算符,但我无法让它们工作!我创建了一个非常简单的 postscript 程序并将其命名为program.ps:
0 .pushpdf14devicefilter
0.5 .setopacityalpha 0.5 .setshapealpha
然后我运行 Ghostscript:
gswin64c.exe -dNOCACHE -dNOPAUSE -dBATCH -dNOSAFER -dALLOWPSTRANSPARENCY -sDEVICE=pdfwrite -o "opacity.pdf" program.ps circles.pdf
但是输出完全一样,没有应用透明度。这会产生一个空白页:
<<
/EndPage {
2 eq { pop false }
{
0 .pushpdf14devicefilter
0.5 .setopacityalpha 0.5 .setshapealpha
true
} ifelse
} bind
>> setpagedevice
这根本没有区别:
<<
/EndPage {
2 eq { pop false }
{
0.5 .setopacityalpha 0.5 .setshapealpha
true
} ifelse
} bind
>> setpagedevice
将运算符更改为.setfillconstantalpha 和.setstrokeconstantalpha 没有区别。我显然是在盲目地尝试一些东西,因为我找不到太多关于这方面的信息,而且我也不完全确定这是否可能。
是否有人对此或任何文章/论文/书籍有任何经验,我可以用作指南?
【问题讨论】:
标签: pdf ghostscript postscript