如何创建弹出窗口,允许用户“打开”或保存文件,就像处理coldfusion pdf一样?
我试图弄清楚当这个表格实际上不是我的时候如何创建它,我只是使用并预先填充已经存在的表单。
<cfpdfform source="82040.pdf" action="populate">
<cfpdfformparam name="cust ##" value=""> <!---Section1 Customer Number--->
</cfpdfform>
我能够通过这样的方式创建这个弹出窗口:
<cfsetting enablecfoutputonly="true">
<cfcontent type="application/pdf">
<cfheader name="Content-Disposition" value="attachment;filename=test.pdf">
<cfdocument format="PDF" localurl="yes"
marginTop=".25" marginLeft=".25" marginRight=".25" marginBottom=".25"
pageType="custom" pageWidth="8.5" pageHeight="10.2">
<cfoutput><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>PDF Export Example</title>
</head>
<body>
</body>
</html>
</cfoutput>
</cfdocument>
但我不确定如何将这两者结合起来。非常感谢任何帮助!
按要求我尝试过:
<cfset tempFilePath = "c:/path/to/someUniqueFileName.pdf">
<cfpdfform source="82040.pdf" action="populate" destination="#tempFilePath#">
<cfpdfformparam name="org" value="Yes"> <!---Above Section1 Original ---> <!---On--->
</cfpdfform>
<cfheader name="Content-Disposition" value="attachment;filename=Testme.pdf">
<cfcontent type="application/pdf" file="#tempFilePath#" deleteFile="false">
答案 0 :(得分:1)
默认情况下,cfpdfform在浏览器中呈现结果,即&#34; inline&#34;。要将其作为附件返回,请将内容保存到文件或变量中。然后使用cfheader/cfcontent
将其作为附件返回。
文件:强>
使用&#34;目的地&#34;属性将其保存到文件中。为避免与其他线程发生冲突,请务必使用唯一文件名。要在完成后自动删除临时文件,请设置deleteFile =&#34; true&#34;
<cfset tempFilePath = "c:/path/to/someUniqueFileName.pdf">
<cfpdfform source="82040.pdf" action="populate" destination="#tempFilePath#">
...
<cfheader name="Content-Disposition" value="attachment;filename=test.pdf">
<cfcontent type="application/pdf" file="#tempFilePath#" deleteFile="false">
<强>可变强>
使用&#34;名称&#34;用于将内容保存到变量的属性。虽然&#34;名称&#34;未在文档中列出,this bug report表示这只是文档错误。
<cfpdfform source="82040.pdf" action="populate" name="pdfContent">
... etcetera ...
<cfheader name="Content-Disposition" value="attachment;filename=test.pdf">
<cfcontent type="application/pdf" variable="#toBinary(pdfContent)#">