ColdFusion PDF "Open with" 或 "save file" 提示
ColdFusion PDF "Open with" or "save file" prompt
如何创建一个允许用户 "open with" 或像处理 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">
默认情况下,cfpdfform 在浏览器中呈现结果,即 "inline"。要 return 将其作为附件,请将内容保存到文件或变量中。然后用cfheader/cfcontent
到return把它作为附件。
文件:
使用"destination" 属性将其保存到文件中。为避免与其他线程发生冲突,请务必使用 唯一 文件名。要在完成后自动删除临时文件,请设置 deleteFile="true"
<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">
变量:
使用"name"属性将内容保存到变量中。尽管 "name" 未在文档中列出,但 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)#">
如何创建一个允许用户 "open with" 或像处理 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">
默认情况下,cfpdfform 在浏览器中呈现结果,即 "inline"。要 return 将其作为附件,请将内容保存到文件或变量中。然后用cfheader/cfcontent
到return把它作为附件。
文件:
使用"destination" 属性将其保存到文件中。为避免与其他线程发生冲突,请务必使用 唯一 文件名。要在完成后自动删除临时文件,请设置 deleteFile="true"
<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">
变量:
使用"name"属性将内容保存到变量中。尽管 "name" 未在文档中列出,但 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)#">