【发布时间】:2013-02-15 03:20:51
【问题描述】:
我需要一个强大的产品,用于使用用于 ASP.NET WebForms/MVC 的 C# API 从 Web 服务器上的网页创建 PDF 文件。该产品应该支持标记中的 SVG 和 PATH 标记,并且能够呈现通过在呈现页面后触发的 ajax 调用创建的标记。以下步骤将使您更好地了解我要完成的工作。
用户单击网页上的“导出为 PDF”按钮。这会向通用处理程序(一个 ashx 文件)发送一个请求。
通用处理程序验证用户的凭据和安全许可,然后将要呈现为 PDF 文件的网页的 URL 传递给 PDF 生成工具(这是 C# API 发挥作用的地方)。
PDF 生成工具将 PDF 文件保存在服务器上的临时文件夹中。
临时 PDF 被读入字节数组并发送到响应流,然后用户可以在其中下载文件。
如果 PDF 生成工具支持,它会将 PDF 文件返回到用户的浏览器,而不是保存到服务器上的临时位置。
我目前正在使用 activePDF 的 WebGrabber 工具来完成此操作,但它在渲染 Kendo DataViz 图表时遇到问题(它们使用 SVG 和 PATH 标签)。我也试过 Aspose.Pdf 这太可怕了。我想知道是否有人对此有任何经验,并且可以推荐一个可以处理这些要求的专业工具。
只是一些最后的说明:
- WebBrowser.Print() 方法不是一个选项。
- Adobe 是否针对这些要求提供任何服务?
- 我查看了 iText,但不知道它是否支持 Kendo DataViz 图表。
【问题讨论】:
-
iTextSharp 一直对我有用,尽管您可能需要构建一些您想要的更简单的部分 (1,2,5)
-
仅供参考 - Stack Overflow 上通常不欢迎这些类型的推荐问题。请参阅faq 部分,了解密切的原因,特别是“不具建设性”。
-
我完全不同意这个问题没有建设性。我发现它很有用。恕我直言,SO 对这类事情的集体看法已经变得内敛和反常。
标签: c# asp.net asp.net-mvc pdf pdf-generation