【问题标题】:HTML document to PDF?HTML文档转PDF?
【发布时间】:2010-10-05 13:51:15
【问题描述】:

我有一个 ASP.NET 网页,它是一个动态生成的报告。出于业务原因,此准确报告需要以 PDF 格式生成。最好的方法是什么?无法将所选打印机设置为 Adob​​e PDF。

学习从头开始以编程方式创建 PDF?有没有办法在某些浏览器控件中呈现它,然后保存输出?

【问题讨论】:

    标签: asp.net pdf


    【解决方案1】:

    wkhtmltopdf - 我在 Windows 中编译它,效果很好。它使用 WebKit(Safari、Chrome 等)将 HTML 页面呈现为 PDF,而且是免费的!

    【讨论】:

    • 在以下位置找到它:code.google.com/p/wkhtmltopdf 经过一些快速测试,它看起来相当不错。如果 GPLv3 适合您,它应该可以完成这项工作。
    • 请注意,它仍处于测试阶段,并且在我写这篇文章时确实存在问题(有时没有真正的解释,无法在某些页面上进行分页) - 但它很好(大多数其他解决方案 PDF 看起来与原始页面完全不同),使用简单且免费。
    【解决方案2】:

    去年我做了一个PDF的项目,刚刚学会了PDF格式,对此我很高兴。

    PDF specification 是免费提供的,作为程序员,PDF 非常易于访问和理解。 PDF 是纯文本文档,可以选择压缩。每页都是一个笛卡尔平面,您可以在其上一个接一个地绘制几何形状。它是低级的,是为软件生成量身定做的。显然有高级的东西,比如字形和东西,但就像任何架构良好的技术一样,如果你愿意,你可以坚持使用抽象层。

    是否做直接PDF取决于你文档的复杂程度。对于具有简单图形、文本和图像之类的基本内容(例如,发票是一个不错的选择),那么我会直接编写 PDF。您将获得良好的体验并完全掌控一切。

    对于更复杂的东西,比如表格和饼图(PDF 太低级,无法直接编写),我会考虑使用某种库或工具包。

    【讨论】:

      【解决方案3】:

      您是否查看过 SQL Server 报告服务?如果您使用的是 MSSQL 2005/2008,那么您可能已经拥有报告服务,您只需要对其进行配置。您可以在那里托管您的报告,只需几行代码即可将报告作为 PDF 文件获取。

          //create the web request for the report based on a URL that will define export 
          //format, parameter values, etc.
          HttpWebRequest request = (HttpWebRequest)WebRequest.Create(reportUrl);
          //send creditials if necessary
          request.Credentials = new NetworkCredential(userName, password);
          //response will contain the PDF file as a stream
          HttpWebResponse response = (HttpWebResponse)request.GetResponse();
      

      这里有一个link 可能也有帮助

      【讨论】:

        【解决方案4】:

        如果报告是网格(可能是),this blog post using iTextSharp 可能会有所帮助。 iTextSharp 很好,也是我见过的最完整的 C# PDF API。

        【讨论】:

        • 如果不是简单的网格,虽然 iTestSharp 并不真正适合他的需求 - 他需要一步 html 到 PDF 的转换,而不是再次将整个页面逐行重写为PDF。
        【解决方案5】:

        如果您正在寻找开源解决方案或 $$ 解决方案,您没有提到您?

        但这里有一个开源转换器:http://sourceforge.net/projects/itextsharp/ 这是相当不错的。

        【讨论】:

        • 仅供参考 - 他们现在有一个“商业”许可模式,它不是免费的。他们网站上没有关于费用的详细信息。
        【解决方案6】:

        我不知道 ABCpdf .NET 是否免费,但我听说过它的好消息。我认为它可以直接将 HTML 文件呈现为 PDF。

        http://www.websupergoo.com/abcpdf-5.htm

        我使用过 PDFsharp(假设您将 C# 与 ASP 结合使用)并且效果很好。据我所知,它不会呈现 HTML。

        http://pdfsharp.com/PDFsharp/

        【讨论】:

          猜你喜欢
          • 2011-02-27
          • 2021-09-11
          • 2018-05-24
          • 2014-07-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-10-02
          • 1970-01-01
          相关资源
          最近更新 更多