我正在尝试使用具有透明背景的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文件:
以下是阅读PDF文件:
答案 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>
有些术语是我的变量,但关键是我不再像上面的图像那样有黑色背景。