谢谢!
wkhtmltopdf 可以完成这个任务.... 使用方法:
wkhtmltopdf http://www.google.com google.pdf
就是这样了。您可以访问任何网页...甚至是.aspx页面。CSS得到了比其他任何实用工具更好的支持,因为它使用Webkit HTML渲染引擎(Safari,Chrome)。享受吧。
有一个单独的.exe文件(7 MB),可以通过使用Process.Start在.Net中简单地使用。确保将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工具。
以下是一些有关将HTML发送到iTextSharp的文章:
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:80/casualjim/archive/2005/11/13/59943.aspx#393262
我曾经使用过 HTMLDoc,它可以将带有基本格式的 HTML 表格、图片等转换成不错的 PDF 报告。还有一个 开源版本。
iTextSharp 可以在基本层面上渲染 html。
我发现,通过简单的 HTML 渲染器编写PDF功能是很容易的,然后再后期添加PDF报告渲染器。如果您将表示层与数据和业务逻辑分离,这应该非常简单。
我当时使用了 PDFlib,但是无论是 iTextSharp 还是 PDFlib 都是用于从数据源程序化创建 PDF 的强大库。
我还没有看到完美的 HTML 转 PDF 渲染器,所以我建议采取两阶段方法。您还可以查看此问题以获取其他选项。
http://aspdotnetcodebook.blogspot.com/2009/04/how-to-convert-web-page-to-pdf.html 展示了如何使用iTextSharp覆盖Render并将内容更改为PDF
这是将ASPX页面转换为PDF的最佳控件:
http://www.essentialobjects.com/Products/EOPdf/ASPXToPDF.aspx
这是一个ASP.NET服务器控件,你只需将其拖放到页面中即可。它会自动处理ASP.NET身份验证和会话。因此,即使页面需要登录并使用会话数据,你也可以将当前页面转换为该控件。