【问题标题】:Directly convert .aspx to .pdf [closed]直接将 .aspx 转换为 .pdf [关闭]
【发布时间】:2010-11-16 06:22:45
【问题描述】:

我正在进行的一个项目要求我构建一个以 HTML (.aspx) 和 PDF 格式输出的报告。是否有可用的解决方案允许我将 .aspx 页面的输出提供给 PDF 生成实用程序?完全支持 HTML 和 CSS 将是理想的。

谢谢!

【问题讨论】:

  • 感谢您到目前为止的回答!我可能应该澄清一件事...... Web 应用程序使用 Web 表单和 SSL 证书进行保护。希望这不会是一个问题。从我正在阅读的内容来看,ABCpdf 和 wkhtmltopdf 似乎是最好的选择。 ABCpdf 似乎更好地与 .NET 集成,wkhtmltopdf 可能在渲染复杂的 CSS 方面做得更好,因为它使用了 WebKit 渲染引擎。 CSS 可能是半复杂的,将来可能会添加图像(图表等)。谢谢!

标签: asp.net pdf pdf-generation


【解决方案1】:

wkhtmltopdf 会做到的.... 用法:

wkhtmltopdf http://www.google.com google.pdf

就是这样。你可以去任何网页......甚至是aspx。 css 比任何其他实用程序都受到更好的支持,因为它使用 webkit html 渲染引擎(Safari、Chrome)。享受

有一个 .exe (7 mb) 可以从 .Net 中使用,只需使用 Process.Start 确保将 exe 复制到项目目录中,否则必须指定完整路径。 例如:

static void HtmlToPdf(string website,string destinationFile)
    {
        ProcessStartInfo startInfo = new ProcessStartInfo();
        startInfo.FileName = "wkhtmltopdf.exe";
        startInfo.Arguments = website+" "+destinationFile;
        Process.Start(startInfo);
    }  

我认为 SSL 是受支持的,但我认为目前 2-way SSL 不会起作用。这是我见过的最好的单站 HTML -> PDF 工具。

【讨论】:

  • 工作得很好,即使是我的网络托管(网络应用程序生成 pdf 发票)
  • 我发现它破坏了一些页面 - 例如检查这一页:jsfiddle.net/BgNPC/8
【解决方案2】:
【解决方案3】:

我过去使用过HTMLDoc,它在将带有一些基本格式的 HTML 表格、图像等转换为体面的 PDF 报告方面做得很好。似乎还有一个open source version

iTextSharp 在基本级别呈现 html。

我发现破解一个简单的 HTML 渲染器可以让我立即提供 PDF 功能,然后我不得不在以后重新安装一个 PDF 报告渲染器。如果您将表示层与数据和业务逻辑分开,这应该非常简单。

我当时使用了PDFlib,但iTextSharpPDFlib 都是非常棒的库,可用于以编程方式从您的数据源创建PDF。

我还没有看到一个完美的 HTML 2 PDF 渲染器,所以我会计划一个两阶段的方法。您可能还想查看this question 以了解其他选项。

【讨论】:

  • @Jle 对 wkhtmltopdf 的建议听起来像是 htmldoc 的更好替代品。
【解决方案4】:

AspPDF 是一个 ActiveX 服务器组件,用于动态创建、读取和修改可移植文档格式 (PDF) 文件。

http://www.asppdf.com

【讨论】:

    【解决方案5】:

    ActivePDF WebGrabber 是一款出色的产品,一旦您正确配置了所有内容。它的成本很高,但它对 HTML 和 CSS 的支持很棒。

    【讨论】:

      【解决方案6】:

      我们为此使用了Alt-Soft XML2PDF 产品。它可以使用XSL-FO markup language将任何XML文件转换为PDF。

      因此,如果您的 ASPX 页面与 XHTML 兼容,那么 Xml2PDF 将非常愉快且轻松地将这些页面转换为 PDF。这是一个示例页面 - 包含一个可下载的 ASP.NET 示例 - 展示了它是如何工作的:http://www.alt-soft.com/products_HTML2PDF.aspx

      它不是免费的,但物有所值!

      马克

      【讨论】:

        【解决方案7】:

        http://aspdotnetcodebook.blogspot.com/2009/04/how-to-convert-web-page-to-pdf.html 向您展示如何使用 iTextSharp 覆盖渲染并将内容更改为 PDF

        【讨论】:

          【解决方案8】:

          这是将 ASPX 页面转换为 PDF 的最佳控件:

          http://www.essentialobjects.com/Products/EOPdf/ASPXToPDF.aspx

          这是一个 ASP.NET 服务器控件,您可以直接放入您的页面。它自动处理 ASP.NET 身份验证和会话。因此,即使页面请求登录并使用会话数据,您也可以转换当前页面。

          【讨论】:

          • 我无法从任一服务器下载它
          • 如何下载?
          猜你喜欢
          • 2011-10-06
          • 1970-01-01
          • 1970-01-01
          • 2013-12-26
          • 2012-02-05
          • 2015-08-02
          • 2019-10-26
          • 2010-10-31
          • 1970-01-01
          相关资源
          最近更新 更多