【问题标题】:Export html to pdf in ASP.NET在 ASP.NET 中将 html 导出为 pdf
【发布时间】:2013-11-21 13:46:00
【问题描述】:

我正在尝试使用 ASP.NET (C#) 将检索到的数据从 SQL 导出为 PDF。 备注:

  1. 我没有使用网格视图。
  2. 我使用 HTML 表格和 asp 标签设计了页面的格式。
    • HTML 表格用于格式化布局和 asp 标签以显示我从 SQL 中选择的数据的值。

如何使用 ASP.NET 将 HTML 表格转换为 PDF?

谁能帮助我?谢谢。

【问题讨论】:

  • 展示你的努力并提出问题。那么有人可能会帮助你。
  • 我想问的是如何使用 ASP.NET 将 HTML 表格转换为 PDF? @PhoenixReborn ..
  • 你不能。 .NET 本身不支持 AFAIK PDF。您要么需要自己编写(不推荐),要么让 3rd 方库为您编写。
  • enter link description here 这个五月有帮助

标签: c# asp.net pdf-generation export-to-pdf


【解决方案1】:

您可以使用 ExpertPdf (www.html-to-pdf.net)。这是我最近使用的一个 html 到 pdf 的转换器,非常成功。

【讨论】:

  • 您好,html-to-pdf.net 是免费工具还是许可工具?
【解决方案2】:

我使用wkhtmltopdf,一个可以从 ASP.NET 调用的命令行应用程序。

【讨论】:

    【解决方案3】:

    接受 HTML 样式内容的解决方案与接受真实世界 HTML 的解决方案之间存在区别。

    接受 HTML 样式或 HTML 子集的解决方案相当小且独立。然而,您必须完全控制您将要使用的 HTML,这样您才能确保您的内容符合您的解决方案的功能,这一点很重要。 iText XmlTextReader 就是一个例子。

    其他解决方案基于现实世界的 HTML 和现实世界的浏览器技术,以提供适当的 HTML/CSS/SVG/ 等支持。我们的 ABCpdf .NET 产品就是一个例子——它包括 Gecko (FireFox) 风格的布局引擎和 Trident (IE 之类) 引擎。

    您更喜欢哪个很大程度上取决于您对源内容的控制程度。

    【讨论】:

      【解决方案4】:

      你可以尝试使用itextsharp (link)

      例子:

      using iTextSharp.text;
      using iTextSharp.text.pdf;
      using System.IO;
      using iTextSharp.text.html;
      
      // step 1 -- get html content
      string htmlContent = ... // you html code (for example table from your page)
      
      Document document = new Document();
      
      // step 2:
      // we create a writer that listens to the document
      // and directs a PDF-stream to a file
      PdfWriter.GetInstance(document, new FileStream("c:\\Chap0101.pdf", FileMode.Create));
      
      // step 3: we open the document
      document.Open();
      
      // step 4: we add a paragraph to the document
      //document.Add(new Paragraph(htmlContent.ToString()));
      
      System.Xml.XmlTextReader _xmlr = new System.Xml.XmlTextReader(new StringReader(htmlContent));
      
      HtmlParser.Parse(document, _xmlr);
      
      // step 5: we close the document
      document.Close();
      

      【讨论】:

        猜你喜欢
        • 2017-01-14
        • 1970-01-01
        • 2021-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-26
        • 2012-04-08
        相关资源
        最近更新 更多