2

我正在使用 ColdFusion 9 创建一个包含多个二维码的 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 倍。

示例

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

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

4

1 回答 1

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>

感谢您的帮助!

于 2013-02-13T15:14:54.983 回答