如何在iframe

时间:2018-04-10 19:55:16

标签: pdf iframe coldfusion

我在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>

1 个答案:

答案 0 :(得分:1)

以下是答案:

我错过了一个CFHEADER语句,该语句允许在用户右键单击“另存为...”时使用的filename参数。您还可以将变量设置为日期和时间,并将该变量作为文件名的一部分包含在内,以使其唯一。

property_valuation.cfm:

<cfheader name="content-disposition" value="inline; filename=mypdf.pdf"/>