我们有一个机构标识,一种颜色设计,以及双层(B& W)渲染的不同设计。我将这两个设计合并为一个Encapsulated PostScript(EPS)文件,以便在渲染时选择正确的设计,具体取决于设备的颜色功能。
不幸的是,当图形转换为PDF时,此功能不会传输。是否可以创建单个PDF文档,在全彩设备上打印时可以显示徽标的颜色版本,并在B& W打印机上打印时使用正确的双层徽标? (我们的传播部门坚持认为我们的徽标不应该是灰度的。)
我花了整个周末阅读PDF参考资料,但我找不到从文档中测试渲染设备功能的方法,或者有条件地执行绘图原语集。我错过了什么吗?
附录:
实现此目的的PostScript代码如下所示:
systemdict /currentpagedevice known % PostScript Level 2 test
{ currentpagedevice
/ProcessColorModel get
/DeviceGray ne % pushes TRUE on stack if color
}
{ systemdict /processcolors known } % PostScript Level 1 punt
ifelse
{ color_logo } % True: Draw full-color design
{ bilevel_logo } % False: Draw B&W design
ifelse
如果可能的话,我正在寻找PDF等价物。
答案 0 :(得分:1)
我不知道您的问题有任何经过验证的解决方案,但您可能想尝试使用JavaScript™ for Acrobat® API。
使用JavaScript,可以在打印文档之前更改按钮的背景图像。或者更改可选内容组的可见性。
API中的以下结构可能对您有用:
Doc/WillPrint
活动PrintParams
object Annotation
object OCG
及其属性您可以使用Acrobat Professional和许多第三方工具和库将Javascript嵌入到PDF中。
请注意,除了Adobe Reader之外,很可能没有PDF查看器支持完整的JavaScript API。
修改强>
另一种可能性是将Postscript直接嵌入到PDF中。有PostScript XObjects。
不幸的是,大多数观看者可能不支持或不完全支持此类对象。 Adobe社区论坛有一个关于embedding of Postscript in PDF的帖子。