cfdocument问题 - cfdocument没有正文

时间:2015-01-26 22:58:06

标签: coldfusion cfml

我正在使用Coldfusion10并且遇到了这个错误:

The following information is meant for the website developer for debugging purposes.
Error Occurred While Processing Request
cfdocument tag has no body.
It must have a body or a source file or URL.

我检查了网站并检测到cfsettings未在顶部或任何可能导致此问题的位置定义,我将其用作

<cfdocument format="pdf">
<cfdocumentsection>
<cfdocumentitem  type="header"></cfdocumentitem> - Footer is used too 
</cfdocumentsection>

我尝试使用evalAtPrint= true但仍然没有成功。我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:1)

确保你实际上是在最后投入。我假设你在这里错过了这个。

否则一切似乎都与Wiki Docs对齐。

我会建议两件事。

  1. 确认您使用的是ColdFusion 11 Update 3.更新3是一项重大更新,可能已解决此问题。
  2. 如果您使用的是update 3,请在bugbase.adobe.com上打开一个错误

答案 1 :(得分:0)

您在问题中包含的错误消息表明您的<cfdocument>代码之间没有内容。您包含的代码证实了这一点。如果这不是您的实际代码,那么我们就无法提供太多帮助。

您需要在<cfdocument>标记之间添加要转换为PDF的内容。你需要这样的东西:

<cfquery datasource="cfdocexamples" name="empSalary"> 
    SELECT Emp_ID, firstname, lastname, e.dept_id, salary, d.dept_name  
    FROM employee e, departmt d 
    WHERE e.dept_id = d.dept_id 
    ORDER BY d.dept_name 
</cfquery> 

<cfdocument format="PDF"> 
    <cfoutput query="empSalary" group="dept_id"> 
        <cfdocumentsection> 
            <cfdocumentitem type="header"> 
                <font size="-3"><i>Salary Report</i></font> 
            </cfdocumentitem> 
            <cfdocumentitem type="footer"> 
                <font size="-3">Page #cfdocument.currentpagenumber#</font> 
            </cfdocumentitem>         
            <h2>#dept_name#</h2> 
            <table width="95%" border="2" cellspacing="2" cellpadding="2" > 
            <tr> 
                <th>Employee</th> 
                <th>Salary</th> 
            </tr> 
            <cfset deptTotal = 0 > 
            <!--- inner cfoutput ---> 
            <cfoutput> 
                <tr> 
                <td>
                    <font size="-1">#empSalary.lastname#, #empSalary.firstname#</font> 
                </td> 
                <td align="right">
                    <font size="-1">#DollarFormat(empSalary.salary)#</font> 
                </td> 
                </tr> 
                <cfset deptTotal = deptTotal + empSalary.salary> 
            </cfoutput> 
            <tr> 
                <td align="right"><font size="-1">Total</font></td> 
                <td align="right"><font size="-1">#DollarFormat(deptTotal)#</font></td> 
            </tr> 
            <cfset deptTotal = 0> 
            </table> 
        </cfdocumentsection> 
    </cfoutput> 
</cfdocument>

Copied from the ColdFusion documentation here