2013年3月22日星期五

个最好的PDF生成库

1)FPDF

http://www.fpdf.org/。这是一个纯PHP的库,它没有使用PDFlib。完全免费。没有任何license的限制。

 2)iText

http://www.lowagie.com/iText/。 这是一个基于Java的库。iText#则是一个基于.NET的库。使用MPL/LGPL的license。


3)AlivePDF

http://www.alivepdf.org/。这是基于ActionScripts 3的PDF文件生成库。MIT license。

4)Prawn

http://prawn.majesticseacreature.com/。这是一个Ruby的PDF文件生成的库。

5) TCPDF

http://www.tcpdf.org/。这又是一个PHP的PDF文件生成库。LGPL license。
 

6)PDFSharp

http://pdfsharp.com/PDFsharp/。基于.NET。

7)libHaru

http://libharu.org/wiki/Main_Page。这是一个跨平台C++的开源的PDF文件生成的库。ZLIB/LIBPNG License

8)Apache FOP

http://xmlgraphics.apache.org/fop/。Java语言,输入支持PDF, PS, PCL, AFP, XML (树形表示), Print, AWT 和PNG格式。

9)PDF  Clown

http://www.stefanochizzolini.it/en/projects/clown/。这是一个基于Java和.NET的开源项目。需要Java 1.5+和C# 2.0。

10)Reportlab Toolkit

http://www.reportlab.org/rl_toolkit.html。这是一个基于python的库,



  • Adobe® PDF Library SDK。PDF的领导厂商出品的PDF库。无愧于其领导地位。http://www.adobe.com/devnet/pdf/library.html
  • pdflib。商业PDF库。功能强大。http://www.pdflib.com/
  • Xpdf: 类UNIX系统上重量级的,功能相当全面的PDF库,开源,免费。主要功能是“查看”pdf内容。http://foolabs.com/xpdf/
  • iText:Java和.NET平台上使用面相当广的开源PDF库。http://www.itextpdf.com/
  • Quick PDF。多数库要么只能读取,要么只能显示PDF内容,但这个库同时包含读取和生成PDF内容的功能。适用于Delphi, C, C#, C++, ASP, VB6, VB.NET, VBScript, PHP, PowerBASIC等程序设计语言。最适合的还是Delphi。http://www.quickpdf.org/

另见:


    最近因为工作需要,小小的研究了一下HTML生成PDF的方法,这方面的内容很多,但要么是不尽如人意的方法,要么就是那种收费的类库!为了广大.neter的福利,把自己的一点小小心得总结出来与大家分享!
    先说说我最后采用的方法吧!wkhtmltopdf,一个集成好了的exe文件(C++编写),基本的调用方法是,wkhtmltopdf www.jingzhengli.cn myhomepage.pdf,可以先在命令行测试一下,有其他的需要可以在命令行通过wkhtmltopdf --help查询,如果是超长页的花,可以用命令wkhtmltopdf www.jingzhengli.cn myhomepage.pdf -H --outline (-H是添加默认标题,--outline是添加pdf的左侧概要哦!)而且可以批量生成哦,中间用空格隔开,用命令wkhtmltopdf www.jingzhengli.cn www.jingzhengli.com myhomepage.pdf   快去试试吧!提醒下:如果是转换GB2132编码的网页是会出现乱码的哦!  好了,其他的自己琢磨琢磨吧!上面都是在命令行下测试,下面给出在C#下的调用方法:
    using System.Diagnostics;
    /// <summary>
    /// HTML生成PDF
    /// </summary>
    /// <param name="url">地址</param>
    /// <param name="path">PDF存放路径</param>
    public static bool HtmlToPdf(string url, string path)
    {
        try
        {
            if (string.IsNullOrEmpty(url) || string.IsNullOrEmpty(path))
                return false;
            Process p = new Process();
            string str = System.Web.HttpContext.Current.Server.MapPath("wkhtmltopdf.exe");
            if (!System.IO.File.Exists(str))
                return false;
            p.StartInfo.FileName = str;
            p.StartInfo.Arguments = " \"" + url + "\" " + path;
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardError = true;
            p.StartInfo.CreateNoWindow = true;
            p.Start();
            System.Threading.Thread.Sleep(500);

            return true;
        }
        catch (Exception ex)
        {
            HttpContext.Current.Response.Write(ex);
        }
        return false;
    }

    调用方法:HtmlToPdf("网页URL", Server.MapPath("PDF存放路径"));
    下载地址:http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.8.3.exe
    源码地址:http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.8.3.tar.bz2

    这里再给出个貌似是国人写的一个类似的,效果不佳,但值得鼓励:PageToPDF,调用方法类似,但这个的exe文件必须和itextsharp.dll放在同一目录下!且不支持长页面的生成PDF,转换新浪网就是一片白了!
    下面给出几个国外网站卖的C#编写的类库的试用版,功能强大,可惜需要License key,大家可以下载下来看看。我尝试用reflector反编译到一半就卡住不动,望有志达人为了广大.neter的福利,破解一下!
    1.ExpertPDF-HtmlToPdf-v5.4.0   $350(真黑,知识就是money啊)
    2.WnvHtmlToPDF  (这个一样的黑价,达人快来破解吧)    3.PDFKit.NET 2.0   http://tallcomponents.com 这个网站的
    这收费的就太黑了,都开源时代了,还这样!下面呢,给出一些PDF生成相关的资料,有志之士可以自己研究下,说不定你也可以开发个类库,买¥350也好啊!
  1. iTextSharp,类库,创建PDF、RTF、XML等,并可解析PDF,功能最强;
  2. Report.NET,类库,创建PDF,不错;
  3. sharpPDF,类库,创建PDF,不错;
  4. iTextdotNET,类库,创建PDF,与Java原版最能保持更新同步;
  5. A pdf Forms Parser,类库,PDF解析器;
  6. pdf Library for creating pdf with tables and text, in C# ,类库,轻量级的创建,中文支持不好;
  7. pdfizer, a dumb HTML to pdf converter, in C#,转换HTML到PDF;
  8. TEXT to pdf Converter in .NET using Reporter.NET,利用Report.NET把纯文本转换成为PDF;
  9. pdf creation using C# (and Office) from RTF/DOC files,从RTF/Doc文件中生产PDF文件;
  10. Generate pdf docs from a HTML page using ASP.NET ,使用.NET把HTML生成PDF.
    希望以上资料对大家有用!也希望达人破解后能留个言,或者发个邮件至我邮箱:calexj@163.com

没有评论:

发表评论