带有 PNG 的 CFPDF:透明度为黑色。 PDF是白色的
CFPDF with PNG: transparency is black. With PDF it's white
我正在尝试为具有透明背景的 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 文件:
我找到了解决我自己问题的方法。我发现实现此目的的最佳方法是将 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>
有些术语是我的变量,但重点是我不再像上面那样在图像上使用黑色背景。
我正在尝试为具有透明背景的 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 文件:
我找到了解决我自己问题的方法。我发现实现此目的的最佳方法是将 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>
有些术语是我的变量,但重点是我不再像上面那样在图像上使用黑色背景。