HTML文档到PDF?

时间:2009-02-05 01:24:51

标签: asp.net pdf

我有一个ASP.NET网页,它是一个动态生成的报告。出于商业原因,此确切报告需要以PDF格式生成。最好的方法是什么?将选定的打印机设置为Adobe PDF不是一种选择。

学习从头开始以编程方式创建PDF?有没有办法在某些浏览器控件中呈现它,然后保存输出?

10 个答案:

答案 0 :(得分:9)

wkhtmltopdf - 我在Windows中编译它并且效果很好。它使用WebKit(Safari,Chrome等)将HTML页面呈现为PDF,并且它是免费的!

答案 1 :(得分:4)

如果报告是网格(可能是), this blog post using iTextSharp 可能有所帮助。 iTextSharp是我见过的最好的C#PDF API。

答案 2 :(得分:3)

我不知道ABCpdf .NET是免费的,但我听说过它很好。我认为它可以直接将HTML文件呈现为PDF文件。

http://www.websupergoo.com/abcpdf-5.htm

我已经使用了PDFsharp(假设您将C#与ASP结合使用)并且效果很好。据我所知,它不会呈现HTML。

http://pdfsharp.com/PDFsharp/

答案 3 :(得分:3)

去年,我做了一个PDF项目,我刚刚学习了PDF格式,我很高兴。

PDF specification可以自由使用,PDF作为程序员非常容易理解。 PDF是纯文本文档,可选择压缩。每个页面都是一个笛卡尔平面,您可以在其上逐个绘制几何形状。它是低级别的,并为软件生成量身定制。显然有像字形和东西这样的高级东西,但是像任何设计良好的技术一样,如果你愿意,你可以坚持使用抽象层。

是否直接使用PDF取决于文档的复杂程度。对于具有简单图形,文本和图像的基本内容(例如,发票是一个很好的候选者),那么我只是直接写PDF。你将获得良好的经验,你将完全掌控。

对于更复杂的事情,如表格和饼图(对于哪些PDF太低而无法直接编写),我会查看某种类型的库或工具包。

答案 4 :(得分:0)

这些链接可能有所帮助:

http://www.411asp.net/home/assembly/document/pdf

http://alt-soft.com/Support_kb_generating_pdf_from_asp_net.aspx

有些语言可以开箱即用,你可以获得一些可以生成pdf的外部服务,但看起来asp.net解决方案真的是你需要的。

HTH

答案 5 :(得分:0)

如果您专注于PDF生成,我可以推荐CeTe的Dynamic PDF产品。它们有点贵,但它们有很多选择,易于使用且记录良好。

答案 6 :(得分:0)

您是否查看过SQL Server Reporting Services?如果您使用的是MSSQL 2005/2008,那么您可能已经拥有了报告服务,您只需要对其进行配置即可。您可以在那里托管报告,只需几行代码即可将报告作为PDF文件。

    //create the web request for the report based on a URL that will define export 
    //format, parameter values, etc.
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(reportUrl);
    //send creditials if necessary
    request.Credentials = new NetworkCredential(userName, password);
    //response will contain the PDF file as a stream
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();

这是link可能也有帮助

答案 7 :(得分:0)

使用PDF Duo .NET转换组件。它将HTML转换为PDF,因此在生成HTML报告后,您可以在ASP.NET项目中创建PDF。

答案 8 :(得分:0)

您还可以通过AdobeFoxitWindward Reports找到执行此操作的产品(免责声明 - 我是Windward的首席技术官)。

答案 9 :(得分:-1)

如果您正在寻找开源解决方案或$$?,您没有提及您?

但这是一个开源转换器:http://sourceforge.net/projects/itextsharp/ 这相当不错。