无法使用cfdocument / cfcontent在pdf中包含图像

时间:2012-08-15 12:57:08

标签: image coldfusion pdf-generation cfdocument

我正在使用cfcontent从网络外部传输图像。当在浏览器中直接调用各种页面时,图像显示正确,而图像在生成的pdf中显示红色X.在导出页面上:

<cfsavecontent variable = "gridCode">
    <cfinclude template="pathToGeneratedPage.cfm" >     
</cfsavecontent>
<cfdocument format="pdf" filename="#filename#" overwrite="yes" localUrl="yes">
    <cfdocumentsection >
        <cfoutput>#gridCode#</cfoutput>     
    </cfdocumentsection>
</cfdocument>

在包含要生成的内容的页面上:

<img src="pathToDisplayPhoto.cfm?image=#someImage#" />

在displayPhoto.cfm页面上:

<cfcontent type="image/*" file="#pathToUploadFolderOutsideWebRoot##url.image#" deleteFile = "No">

我包含了cfdocument属性localUrl =“yes”,因为默认值(no)不起作用。明确设置为“no”也不起作用。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

你有&#39; localUrl&#39;设置为yes,这意味着Coldfusion将查看图像中的文件路径并尝试在硬盘上找到它们而不进行HTTP或HTTPS调用,因此它尝试打开路径ToDisplayPhoto.cfm?image =#someImage #&#39;作为一个图像,但由于它不是HTTP请求,它不会获得CFML。

如果您将loclUrl设置为No以解决问题。

cfdocument ref - 在参数列表中查找localUrl。

答案 1 :(得分:1)

我正在保存创建的pdf,但发现localUrl="yes"(或=true)失败。

<img src="file:\\\#replace(getCurrentTemplatePath(),"my.cfm")#images\my.png">

为任何人挖掘桶底部的想法。 getCurrentTemplatePath()获取文件名和路径,所以我不得不删除它(因此替换(...,“my.cfm”)。我也尝试了expandPath(“。”),但也失败了。 / p>