CFDocument显示错误的图像

时间:2013-02-13 08:03:17

标签: image coldfusion pdf-generation

我使用ColdFusion 9创建包含多个QR码的PDF。

在生成PDF文档之前已成功创建图像。图像彼此不同,但它们具有相似的文件大小和分辨率。

现在,我为之前生成的每个图像生成HTML并将其放入PDF文档中。路径是正确的 - 我检查了它。

<cfset amount="6" />
<cfdocument
    format="pdf"
    unit="cm"
    marginTop="0.5"
    marginLeft="0.5"
    marginRight="0.5"
    marginBottom="0.5"
    pageType="A4"
    filename="#path##name#.pdf">
     <cfoutput>
        <cfloop from="1" to="#amount#" index="i">
            <cfset filename = "#name#_#i#" />
            <img src="file://#path#codes/#filename#.png" style="width: 3.58cm; margin: 0 0.2cm 0.5cm;">
            #path#codes/#filename#
        </cfloop>
    </cfoutput>
</cfdocument>

但有一个问题:只有第一张图片才能正常显示。每个其他图像都是第一个图像的相同副本。所以我在这份PDF文档中得到了6张相同的图片。

让我指出路径是正确的。它不是相同路径的6倍。

pdf example

正确显示一些完全不同的图像。我认为Coldfusion在显示几乎相同(文件大小,分辨率)的图像方面存在一些问题。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:2)

解决了这个问题。

ColdFusion中存在CFDocument和PNG条形码图像的问题。我将它们转换为JPG,一切都按预期工作。

<cfset amount="6" />
<cfdocument
    format="pdf"
    unit="cm"
    pageType="A4"
    filename="#path##name#.pdf">
     <cfoutput>
        <cfloop from="1" to="#amount#" index="i">
            <cfset filename = "#name#_#i#" />
            <cfimage
                action="convert"
                destination="#path#codes/#filename#.jpg"
                source="#path#codes/#filename#.png" />
            <img src="file://#path#codes/#filename#.jpg" style="width: 3.58cm; margin: 0 0.2cm 0.5cm;">
        </cfloop>
    </cfoutput>
</cfdocument>

感谢您的帮助!