当我水印一个pdf到另一个pdf,任何半透明的水印PDF是完全不透明的。对此我能做些什么吗?还是这是CFPDF的限制?
服务器是具有最新修补程序的CF9。
有趣的比特,当铬呈现最终产品的透明度保持,但当Acrobat Pro呈现它是不透明的。我可以打印最后的产品到AdobePDF,它是准确透明的,但我没有一个一致的页面大小发送通过我们的印刷厂,这是一个展示停止的问题。
按请求添加的代码:
<cfpdf action="addwatermark"
source="#BackgroundPDF#"
copyfrom="#ForegroundPDF#"
destination="#DestinationPDF#"
foreground="yes"
opacity="10"
overwrite="yes"
position="#XYPositioning#"
rotation="#RotationIfRequired#"
showonprint="yes"
>我在进行过程中还发现了更多的细节:如果我上了Acrobat,我可以开始打印产品,并输出预览,并将"show“选项更改为"Not DeviceCMYK”,然后恢复透明度,但这只是某种预览,如何从PDF中实际删除该颜色空间?
发布于 2014-05-08 00:13:06
感谢@mkl Here提供的帮助,我们能够找到如何对pdf二进制文件进行修补。因此,我只需要能够在CF中做到这一点。由于将文件作为文本文件读取,由于字符编码会导致问题,所以我能够这样做。
<cffile action="readbinary" file="#inputPath#" variable="input"><cfset temp=BinaryEncode(input,"Hex")><cfset temp2 = ReplaceNoCase(temp,"2F4B2074727565","","All")><!--- 2F4B2074727565 is HEX for /K true --->字符串,现在是十六进制<cfset output = BinaryDecode(temp2,"Hex")><cffile action="write" file="#outputPath#" output="#output#" nameconflict="overwrite">现在,您有了一个看起来像预期的PDF。问题是它有什么问题。如果我打开它,什么也不做,并关闭它的提示我保存。如果我救了它,我就不再有问题了。我认为CFPDF合并操作基本上可以做到这一点,而不需要用户做一些事情,所以我添加了最后一步。
<cfpdf action="merge" source="#outputPath#" destination="outputPath2" pages="1" overwrite="yes">重新保存pdfhttps://stackoverflow.com/questions/23438346
复制相似问题