首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDF生成的设计

PDF生成的设计
EN

Stack Overflow用户
提问于 2010-08-23 15:09:53
回答 1查看 332关注 0票数 2

我有一个ASP.NET网站,从其中一个网页,我需要生成一个PDF文档,其中包含一组网页的输出,用户选择。我管它叫“批PDF”。基本上,用户被要求选择她需要将哪些网页放入PDF中,然后单击一个按钮来创建一个PDF,其中包含所有选定的网页。

为此,我通过查询字符串发送所选页面的列表(它们的ID ),在服务器上,对于查询字符串中的每个网页ID,它将生成一个http请求到本地主机,并从这个请求中获取页面的PDF (我有从Request.Filter到PDF的转换)。然后将所有PDF流合并到一个PDF中,并将其转储到响应流中。一切都正常。

但是我想使用AJAX来完成它。当前,打开一个新的浏览器窗口,用户必须等待服务器完成后才能看到页面。相反,我想发送一个AJAX请求,当PDF生成完成后,显示PDF。

这样做的一种方法是在AJAX发送请求并重定向到该文件时将PDF写入服务器上的文件,但是是否有一种避免文件混乱的方法?例如,我是否可以将整个PDF放入会话中?还有其他想法吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-13 09:19:54

为什么不将所有内容放入内存流而不是会话呢?读取HTML页面的内容,生成字节输出,并执行如下操作:

代码语言:javascript
复制
[HttpGet]
public ActionResult PreviewPDF()
{
    // ...
    // The PDF file stream.
    MemoryStream pdf = PDF.Render(xmldata, xslfo);
    return new FileStreamResult(pdf, "application/pdf");
}

另外,一个简单的问题是:你到底是如何将你的网页转换成PDF格式的,你在使用第三方工具吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3548877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档