我有一个ASP.NET网站,并从我需要生成一个PDF文档,其中包含用户选择的一组网页的输出的网页之一。我把它叫做“批量PDF”。基本上,要求用户选择她需要将哪些网页放入PDF中,然后单击一个按钮,该按钮创建一个包含所有选定网页的PDF。PDF生成的设计
为此,我通过查询字符串发送选定页面的列表(它们的ID),并在服务器上为查询字符串中的每个网页ID发送一个到本地主机的http请求并获取页面的来自此请求的PDF(我有Request.Filter
,它将HTML转换为PDF)。然后,它将所有PDF流合并成一个PDF并将其转储到响应流中。一切正常。
但我想用AJAX来做。目前,打开一个新的浏览器窗口,用户必须等待服务器完成才能看到页面。相反,我想发送一个AJAX请求,并在PDF生成完成后显示PDF。
这样做的一种方法是,当AJAX发送请求并重定向到该文件时,将PDF写入服务器上的文件,但有没有办法避免与文件混淆?例如,我可以将整个PDF放入会话中吗?任何其他想法?
谢谢。
感谢您的帮助。我做了类似的事情。为了将页面转换为PDF,我使用了一个称为ABCPdf的第三方工具,它接受HTML并发出PDF。这里是一个相关的讨论:http://stackoverflow.com/questions/564650/convert-html-to-pdf-in-net – akonsu 2010-12-13 17:36:01