如何设置“文件名”中显示的文件名;另存为……”;iframe中显示的动态PDF对话框
我在ColdFusion中动态生成pdf,这样我们的服务器上就没有实际的pdf了。每次用户点击“下载”按钮时,它都会在创建PDF的窗口中使用如何设置“文件名”中显示的文件名;另存为……”;iframe中显示的动态PDF对话框,pdf,iframe,coldfusion,Pdf,Iframe,Coldfusion,我在ColdFusion中动态生成pdf,这样我们的服务器上就没有实际的pdf了。每次用户点击“下载”按钮时,它都会在创建PDF的窗口中使用打开另一个浏览器窗口,动态创建PDF 但是,我不知道如何更改用户单击“另存为…”时显示的实际文件名。当前,显示的文件名是用于生成pdf的.cfm文件的名称,例如my\u pdf\u generated.pdf。理想情况下,我希望文件的名称中有日期,例如my\u pdf\u generated\u 040918.pdf,但我似乎找不到如何做到这一点 这是当用户
打开另一个浏览器窗口,动态创建PDF
但是,我不知道如何更改用户单击“另存为…”时显示的实际文件名。当前,显示的文件名是用于生成pdf的.cfm文件的名称,例如my\u pdf\u generated.pdf
。理想情况下,我希望文件的名称中有日期,例如my\u pdf\u generated\u 040918.pdf
,但我似乎找不到如何做到这一点
这是当用户单击“下载pdf”时在单独的浏览器窗口中运行的代码
<div class="title">
Loading your pdf. Your document may take a few moments to
load. Once it's loaded, you can save it to your device.</div>
<cfflush>
<iframe src="property_valuation.cfm?valco=<cfoutput>#URL.ValCo#</cfoutput>"
width="100%" height="100%" >
</iframe>
</div>
正在加载您的pdf。您的文档可能需要几分钟才能完成
负载加载后,您可以将其保存到设备中。
不动产估价.cfm:
。。。其他代码。。。
... 在此处生成pdf内容。。。
答案如下:
我缺少一条CFHEADER语句,该语句允许在用户右键单击“另存为…”时使用filename参数。您还可以将变量设置为日期和时间,并将该变量作为文件名的一部分,以使其唯一
不动产估价.cfm:
您忘记发布相关代码(生成pdf供下载的代码,…property_valuation.cfm)。您是否按照《谢谢你》中的建议使用了
,这很有效!我在上面发布了工作代码。iframe的用途是什么?@TassTimes-既然s.O.是一个问答网站,你应该在“问题”中发布非工作代码,并将工作代码作为单独的“答案”发布。另外,property\u valuation.cfm
中与此特定问题真正相关的唯一代码是
标记。其余部分可以删除。@tastimes-将您的工作代码作为答案发布并接受它。如果A)只包含相关代码,这只有两行(cfheader+cfdocument),并且b)还包含了对其工作原因的简要解释,那么这将有助于其他人更好地理解解决方案。(我会自己编辑,但肯定会因为“太激烈”而被拒绝。”——)按照你的建议设置。看起来很棒,谢谢!其他人更容易跟随。
... other code ...
<cfdocument format="pdf" margintop="1.0" marginbottom=".75" >
<html>
<head></head>
<body>
... generate pdf content here ...
</body>
</html>
</cfdocument>
<cfheader name="content-disposition" value="inline; filename=mypdf.pdf"/>