带PNG的CFPDF:透明度为黑色。 PDF是白色的

时间:2015-05-01 15:17:41

标签: pdf coldfusion thumbnails watermark cfpdf

我正在尝试使用具有透明背景的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 File

以下是阅读PDF文件:PDF FIle

1 个答案:

答案 0 :(得分: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>

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