我正在尝试使用 ASP.NET (C#) 将检索到的数据从 SQL 导出为 PDF。评论:
- 我没有使用网格视图。
- 我使用 HTML 表格和 asp 标签设计了页面的格式。
- 用于格式化布局的 HTML 表和用于显示我从 SQL 中选择的数据的值的 asp 标签。
如何使用 ASP.NET 将 HTML 表格转换为 PDF?
谁能帮我?谢谢。
我正在尝试使用 ASP.NET (C#) 将检索到的数据从 SQL 导出为 PDF。评论:
如何使用 ASP.NET 将 HTML 表格转换为 PDF?
谁能帮我?谢谢。
您可以尝试使用 itextsharp (链接)
例子:
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();
您可以使用 ExpertPdf ( www.html-to-pdf.net )。这是一个 html 到 pdf 的转换器,我最近一直在使用并取得了巨大的成功。
我使用wkhtmltopdf,一个可以从 ASP.NET 调用的命令行应用程序。
接受 HTML 样式内容的解决方案与接受真实世界 HTML 的解决方案之间存在区别。
接受 HTML 样式或 HTML 子集的解决方案相当小且自包含。但是,您必须完全控制要使用的 HTML,这样才能确保您的内容符合解决方案的功能,这一点很重要。iText XmlTextReader 就是一个例子。
其他解决方案基于真实世界的 HTML 和真实世界的浏览器技术,以提供适当的 HTML/CSS/SVG/ 等支持。我们的 ABCpdf .NET 产品就是一个例子——它包括一个 Gecko (FireFox) 风格的布局引擎和一个 Trident (IE-like) 引擎。
您更喜欢哪个在很大程度上取决于您对源内容的控制程度。