使用abcpdf设置pdf文件名

时间:2012-07-11 19:02:24

标签: coldfusion coldfusion-9 abcpdf

我发现了这个: How to set the name of the file when streaming a Pdf in a browser?

同样的问题豁免我在Coldfusion中使用abcpdf。所以问题是:

我在coldfusion中使用abcpdf,生成Pdfs并将输出流式传输给用户。我的代码如下所示:

<cfscript>
theDoc = createObject("com","ABCpdf6.doc");
theDoc.rect.SetRect(10, 10, 600, 777); 

theID = theDoc.AddImageHTML(strHTML, true);

while(theDoc.Chainable(theID))
{
theDoc.Page = theDoc.AddPage();
theID = theDoc.AddImageToChain(theID);
}

page_count = theDoc.PageCount;
the_data = theDoc.getData();

enter code here



// Release the Objects
theDoc.clear();
ReleaseComObject(theDoc);

</cfscript>

此代码运行后,它将Pdf流式传输到浏览器,打开Acrobat Reader。效果很棒!

我的问题是当用户尝试保存文件时,它默认为实际文件名...在这种情况下,它默认为myPagename.pdf。无论如何我可以设置这个吗?如果是这样,怎么样?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

你可以在ABC之外这样做:

var ms = new MemoryStream();
theDoc.Save(ms);
String fileName = name + ".pdf"; // where "name" is the default name
return File(ms, "application/pdf", fileName);