我正在处理的项目要求我构建一个以HTML(.aspx)和PDF格式输出的报表。是否有可用的解决方案允许我将.aspx页面的输出提供给PDF生成实用程序?完全支持HTML和CSS将是理想的。
谢谢!
答案 0 :(得分:12)
wkhtmltopdf会这样做......使用:
wkhtmltopdf http://www.google.com google.pdf
就是这样。你可以去任何网页...甚至aspx。 css比任何其他实用程序都支持得更好,因为它使用webkit html呈现引擎(Safari,Chrome)。享受
只需使用Process.Start就可以从.Net中使用单个.exe(7 mb) 确保将exe复制到项目目录中,或者必须指定完整路径。 例如:
static void HtmlToPdf(string website,string destinationFile)
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "wkhtmltopdf.exe";
startInfo.Arguments = website+" "+destinationFile;
Process.Start(startInfo);
}
我认为支持SSL,但我认为双向SSL目前不会起作用。它是最好的单站HTML - >我见过的PDF工具。
答案 1 :(得分:3)
iTextSharp可以执行HTML到PDF,但只有基本的HTML和CSS不能完全支持。
有关向iTextSharp发送HTML的一些文章:
http://somewebguy.wordpress.com/2009/05/08/itextsharp-simplify-your-html-to-pdf-creation/
http://aspdotnetcodebook.blogspot.com/2008/07/how-to-export-content-of-gridview-to.html
http://geekswithblogs.net/casualjim/archive/2005/11/13/59943.aspx#393262
答案 2 :(得分:3)
我过去曾使用过HTMLDoc,它将HTML表格,图片等基本格式转换为体面的PDF报告做得很好。似乎也有open source version。
iTextSharp将html呈现为基本级别。
我发现在一个简单的HTML渲染器中进行黑客攻击允许我立即提供PDF功能,然后我不得不重新装备PDF报告渲染器。如果您将表示层与数据和业务逻辑分开,这应该非常简单。
我使用了PDFlib,但iTextSharp和PDFlib都是非常棒的库,可以从数据源以编程方式创建PDF。
我还没有看到完美的HTML 2 PDF渲染器,所以我计划采用两阶段方法。您可能还想查看this question其他选项。
答案 3 :(得分:0)
AspPDF是一个ActiveX服务器组件,用于动态创建,读取和修改可移植文档格式(PDF)文件。
答案 4 :(得分:0)
ActivePDF WebGrabber就是一款出色的产品。它的成本很高,但它支持HTML和CSS。
答案 5 :(得分:0)
我们已将Alt-Soft XML2PDF产品用于此目的。它可以使用XSL-FO markup language将任何XML文件转换为PDF。
因此,如果您的ASPX页面与XHTML兼容,Xml2PDF将非常愉快和轻松地将这些页面转换为PDF。这是一个示例页面 - 包含可下载的ASP.NET示例 - 展示了它的工作原理:http://www.alt-soft.com/products_HTML2PDF.aspx
它不是免费的,但非常值得许可证价格!
马克
答案 6 :(得分:0)
http://aspdotnetcodebook.blogspot.com/2009/04/how-to-convert-web-page-to-pdf.html 向您展示如何使用iTextSharp
覆盖渲染并将内容更改为PDF答案 7 :(得分:0)
这是将ASPX页面转换为PDF的最佳控件:
http://www.essentialobjects.com/Products/EOPdf/ASPXToPDF.aspx
这是一个ASP.NET服务器控件,您只需将其放入页面即可。它自动处理ASP.NET身份验证和会话。因此,即使页面请求登录并使用会话数据,您也可以转换当前页面。