文件解析库列表


1. Microsoft Office 解析库


    1.1 apache 的 poi     

        java语言,apache官方关于poi text extractor 的介绍:
        支持各种版本文件的提取.doc .docx .xls .xlsx .ppt .pptx,甚至更老版本的 Word 6 和 Word 95 文件;  支持 .vsd .pub 文件的提取;支持提取嵌入到office文件中的文件的内容;支持 各版本的文档,97-2003的 doc xls ppt , 2007后的 docx pptx xlsx;

        http://poi.apache.org/

        http://www.apache.org/dyn/closer.cgi/poi/dev/bin/poi-bin-3.8-beta2-20110408.zip


    1.2 NPOI

        C#语言,NPOI是.net版本的poi,是从poi移植过来的
        http://npoi.codeplex.com/


    1.3 OpenOffice

        是个开源的办公套件,提供了与MS Word,Excel,PowerPoint等对应的多个软件,在很多时候倒也足够使用。更重要的是,它支持包括MS Office 2007在内的多种格式,并且能够将其导出为PDF文件,再加上它的授权方式是LGPL,在生产环境里使用自然也不会有什么明显的限制了。此外,OOo本身也有相当多的开发文档,我对完成这个工作还是很有信心的——但我没想到的是,这过程还真不如想象中那么顺利。

        http://www.openoffice.org/

        http://blog.zhaojie.me/2010/05/convert-document-to-pdf-via-openoffice.html


    1.4 Open XML Format SDK
        描述:微软官方提供的Open XML读写库,目前最新版是2.0 CTP版本,这套库也是基于.net 3.0的。
        相关文件格式:Open XML Formats (docx, xlsx, pptx等)

        官方网站:http://www.microsoft.com/downloads/details.aspx?FamilyID=c6e744e5-36e9-45f5-8d8c-331df206e0d0&DisplayLang=en

        


    

1.4 doc及docx纯文本提取 DocumentExtractor

        



2. Pdf解析库


    2.1 xpdf

        开源软件,用C/C++开发,可以获取源码,无文档;不提供开发包;使用命令行提取文本

        http://www.foolabs.com/xpdf/

        http://www.foolabs.com/xpdf/download.html



    2.2 pdfbox

        Apache 开源项目,提供开发jar包;文档较齐;
        1、使用jar包自己开发
        2、使用命令行(未测试)
        如 usage: java -jar pdfbox-app-x.y.z.jar ExtractText [OPTIONS] [Text file]

        http://pdfbox.apache.org/



    2.3 操作 PDF 文件格式的 C++ 类库:PoDoFo

        功能包括:解析现有的PDF文件, 创建新的PDF文件, 修改现有的PDF文件,  加密PDF文件, 创建unicode PDFs,  修剪PDFs

        http://sourceforge.net/projects/podofo/


    2.4 iText,是一个能够快速产生PDF文件的java类库

        http://sourceforge.net/projects/itext/

        http://www.itextpdf.com/



3. 图像文件解析


    3.1 CxImage类库

        CxImage类库是一个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。

        CxImage是一个可以用于MFC的C++类,可以打开,保存,显示,转换各种格式的图像文件,比如BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K 等格式的文件。可以实现BMP<->JPG,PNG <>TIFF格式等等的转换


http://www.codeproject.com/Articles/1300/CxImage


  

    3.2 PSD文件解析库 libspsd

        

        http://sourceforge.net/projects/libpsd/



4. XML解析库


    4.1 TinyXML

        TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。

        http://sourceforge.net/projects/tinyxml/