我正在尝试将CFML代码转换为CFScript,但是CFHtmlToPdf出现错误。
CFML:
<cfoutput>
<cfhtmltopdf orientation="portrait" pagetype="A4" margintop="1" marginbottom="1" name=pdfFile>
#arguments.data.HTMLData#
</cfhtmltopdf>
<cfmail type=HTML to="#arguments.data.Email#" from="support@mydomain.com" subject="Form Test" server="localhost">
TEST
<cfmailparam file="#arguments.data.ReportName#.pdf" type="application/pdf" content="#pdfFile#"/>
</cfmail>
</cfoutput>
我的cfscript代码:
cfhtmltopdf(source=arguments.data.HTMLData, destination=pdfPath);
mailerService = new mail();
mailerService.setTo("arguments.data.Email");
mailerService.setFrom("support@mydomain.com");
mailerService.setSubject("Form Test");
mailerService.setType("html");
mailerService.addParam(file="Test.pdf",type="application/pdf",content=pdfPath);
mailerService.send(body="Test");
我遇到了错误:
src不是正确的URL,或者绝对路径指定的文件不存在。
该错误发生在该行中:
cfhtmltopdf(source=arguments.data.HTMLData, destination=pdfPath);
我在cfscript中使用CFHtmlToPdf错误吗?
答案 0 :(得分:5)
问题是您使用错误的方式使用了cfhtmltopdf
。 HTML字符串不应作为source
属性传递,而应作为函数的内容传递(就像对savecontent
所做的那样)。
选中此link。
variables.pdfFile='';
cfhtmltopdf(name='variables.pdfFile'){
writeOutput(arguments.data.HTMLData);
};