什么软件可用于创建服务器端PDF文件?

时间:2013-02-28 19:22:03

标签: c# asp.net asp.net-mvc pdf pdf-generation

我需要一个强大的产品,用于使用ASP.NET WebForms / MVC的C#API在Web服务器上从网页创建PDF文件。该产品应支持标记中的SVG和PATH标记,并且能够呈现通过在呈现页面后触发的ajax调用创建的标记。以下步骤将使您更好地了解我正在努力实现的目标。

  1. 用户点击网页上的“导出到PDF”按钮。这会向通用处理程序(ashx文件)发送请求。

  2. 通用处理程序验证用户的凭据和安全许可,然后将要呈现为PDF文件的网页的URL传递给PDF生成工具(这是C#API发挥作用的地方)。

  3. PDF生成工具将PDF文件保存在服务器上的临时文件夹中。

  4. 将临时PDF读入字节数组并发送到响应流,然后用户可以下载该文件。

  5. 如果PDF生成工具支持它,它会将PDF文件返回给用户的浏览器,而不是保存到服务器上的临时位置。

  6. 我目前正在使用activePDF的WebGrabber工具来实现这一目标,但它在渲染Kendo DataViz图表时遇到了问题(他们使用SVG和PATH标签)。我也试过Aspose.Pdf,这太可怕了。我想知道是否有人对此有过任何经验,并且可以推荐一种能够满足这些要求的专业工具。

    最后一些注释:

    • WebBrowser.Print()方法不是一个选项。
    • Adob​​e是否提供满足这些要求的任何内容?
    • 我看过iText,我不知道它是否支持Kendo DataViz图表。

3 个答案:

答案 0 :(得分:2)

我们需要使用我们的WCF服务在服务器中生成PDF。我们需要创建PDF并合并,我们使用PDFSharp,不确定它是否能够处理你所描述的内容。

http://www.pdfsharp.net/

我们还使用了ActiveReports服务器版本7,它将输入作为xml并输出为PDF,WORD和HTML

答案 1 :(得分:1)

我通常使用ActiveReports来生成PDF,但这更像是一个可以导出为PDF的报告引擎。如果您可以将屏幕截图作为图像获取,则可以动态地将图像添加到报表中,然后将其发送到PDF。

或者,如果要求是打印特定页面,如收据,那么我就不会抓取URL。相反,我会将收据列为报告,然后提供相应的数据以生成该报告,将其导出为PDF,并将其发送到浏览器。

答案 2 :(得分:1)

我之前在ASP.NET MVC中使用wkhtmltopdf从网页呈现PDF。但是,我总是称它为exe,而不是API。

看起来有一个项目为它提供了一个C#API here

相关问题