2

我正在尝试使用具有透明背景的 PNG 文件向 PDF 添加水印。

每次我创建水印时,它都会显示为黑色背景。在使用 PDF 作为水印时,我得到水印的白色背景。此外,PDF 水印在变成缩略图时会变成灰度。

这是什么原因造成的?我能做些什么来实现透明度?

我正在使用 ColdFusion 11。

这是两者的代码:

PNG水印:

<cfpdf
	action="addwatermark"
	foreground="true"
	opacity="6"
	source="PDFS/blankpage.pdf"
	destination="PDFS/watermarked/blankpage.pdf"
	image="PDFS/samplemusicpage2.png"
	overwrite="yes"
>

<cfpdf
	action="thumbnail"
	resolution="low"
	source="PDFS/watermarked/blankpage.pdf"
	destination="PDFS/_thumbnails"
	imageprefix="blankpage"
	overwrite="yes"
	scale="40"
>

以下是使用 PDF 作为水印的代码:

<cfpdf
	action="addwatermark"
	foreground="true"
	opacity="6"
	source="PDFS/blankpage.pdf"
	destination="PDFS/watermarked/blankpage.pdf"
	copyfrom="PDFS/samplemusicpage.pdf"
	overwrite="yes"
>
<cfpdf
	action="thumbnail"
	resolution="low"
	source="PDFS/watermarked/blankpage.pdf"
	destination="PDFS/_thumbnails"
	imageprefix="blankpage"
	overwrite="yes"
	scale="40"
>

这是我在此示例中使用的图像: 这是 PNG 文件:PNG文件

这是阅读PDF文件:PDF文件

4

1 回答 1

0

我找到了解决我自己问题的方法。我发现完成此操作的最佳方法是将 PDF 创建为图像,然后使用 Coldfusion 的成像将水印添加到图像中。

<cfloop query="jpgfiles">
<cfset theFile = directory & "/" & name>
<cfset imgFile = imageRead(theFile)>
<cfset imgInfo = imageInfo(imgFile)>
<cfset imagepaste(imgFile, watermark, imgInfo.width-watermarkinfo.width, imgInfo.height-watermarkinfo.height)>
<cfset imageWrite(imgFile, processedfolder & "/" & name, true)>
</cfloop>

一些术语是我的变量,但关键是我不再像上面那样在图像上使用黑色背景。

于 2015-06-09T20:42:32.597 回答