CFDocument图像

时间:2013-05-14 19:33:50

标签: coldfusion cfdocument

我在cfdocument内显示图片时遇到问题。我没有运气就尝试了几种不同的选择(请参阅下面的测试代码)。

似乎cfdocument识别出那里有一个图像文件,因为表格单元格的大小发生了变化。然而它仍然没有显示图像的内容。 我将不胜感激任何帮助。

    <cfdocument format="PDF" localURL = "yes">
    <p style="background-color:#006633">

    <table border="1">
    <tr><td><cfoutput>
            output from "file:///#ExpandPath('CEUCertificate_ABondy3.jpg')#" 
            </cfoutput>
        </td>
        <td style="background-color:white">
        <cfoutput>
           <image src="file:///#ExpandPath('CEUCertificate_ABondy3.jpg')#"> 
        </cfoutput>
        </td>
    </tr>
    <tr><td><cfoutput> output from #ExpandPath('CEUCertificate_ABondy3.jpg')#  </cfoutput> </td>
        <td>
        <cfoutput>
            <image src="#ExpandPath('CEUCertificate_ABondy3.jpg')#"> 
        </cfoutput>
        </td>
    </tr>
    <tr><td style="background-color:red">
            Output from: img src="CEUCertificate_ABondy3.jpg"
        </td>
        <td style="background-color:red"> 
            <img src="CEUCertificate_ABondy3.jpg"/>
        </td>
    </tr>
    <tr>
        <td style="background-color:white">
            output from image src="CEUCertificate_ABondy3.jpg"
        </td>
        <td>
            <cfoutput>
            <image src="CEUCertificate_ABondy3.jpg">
            </cfoutput>
    </tr>
    <tr>
        <td>Output from local url</td>
        <td>
             <cfoutput>
             <img src=#localUrl("CEUCertificate_ABondy3.jpg")#>
             </cfoutput>
        </td>
    </tr>
    </table>
    </p>
    </cfdocument>

    <cffunction name="localUrl" >
      <cfargument name="file" />

      <cfset var fpath = ExpandPath(file)>
      <cfset var f="">
      <cfset f = createObject("java", "java.io.File")>
      <cfset f.init(fpath)>

      <cfreturn f.toUrl().toString()>
    </cffunction>

2 个答案:

答案 0 :(得分:1)

对于您的初始问题,您需要像在任何其他HTML页面中一样引用cfdocument标记中的图像; <img src="url-to-the-image" />。所以这对你有用。

<img src="/cde/mobileweb/CEUCertificate_ABondy3.jpg"/>

现在您已进行了更改,页面即将超时。这可能是由于图像的创建方式。 See this page here。这是我从Charlie's page here找到的。

尝试在编辑器中打开该图像并重新保存。然后看看处理时间是否减少。

我在Ben Nadel's blog here上找到了关于此问题的更多讨论。

答案 1 :(得分:0)

不要乱用ExpandPath()file://,而是将其编码为普通的html,并确保它首先运行。然后在localUrl="true"

中使用<cfdocument>