0

我发现了这个: 如何在浏览器中流式传输 Pdf 时设置文件的名称?

同样的问题豁免我在 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。无论如何我可以设置这个吗?如果是这样,怎么做?

任何帮助,将不胜感激。

4

1 回答 1

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);
于 2012-07-20T12:09:51.117 回答