【发布时间】:2018-04-10 19:55:16
【问题描述】:
我在 ColdFusion 中动态生成 pdf,因此我们的服务器上没有实际的 PDF。每次用户点击“下载”时,它都会通过打开另一个浏览器窗口来动态创建 PDF,在创建 pdf 的窗口中使用<iframe>。
但是,我不确定如何更改用户单击“另存为..”时显示的实际文件名。目前,显示的文件名是用于生成 pdf 的 .cfm 文件的名称,例如my_pdf_generated.pdf。理想情况下,我希望文件的名称中有一个日期,例如my_pdf_generated_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>
property_valuation.cfm:
... other code ...
<cfdocument format="pdf" margintop="1.0" marginbottom=".75" >
<html>
<head></head>
<body>
... generate pdf content here ...
</body>
</html>
</cfdocument>
【问题讨论】:
-
您忘记发布相关代码(代码生成 pdf 以供下载,... property_valuation.cfm)。您是否按照this older thread 中的建议使用
<cfheader> -
谢谢,成功了!我在上面发布了工作代码。
-
iframe 的用途是什么?
-
@TassTimes - 自 S.O.是一个问答网站,您应该在“问题”中发布非工作代码,并将工作代码作为单独的“答案”发布。此外,
property_valuation.cfm中与此特定问题真正相关的唯一代码是<cfdocument>标记。其余的可以删除。 -
@TassTimes - 发布您的工作代码作为答案并接受它
标签: pdf iframe coldfusion