如何设置“文件名”中显示的文件名;另存为……”;iframe中显示的动态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,但我似乎找不到如何做到这一点 这是当用户

我在ColdFusion中动态生成pdf,这样我们的服务器上就没有实际的pdf了。每次用户点击“下载”按钮时,它都会在创建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"/>