Python读取PDF和微软docx

/ 0评 / 0

    之前在学习linux时尝试着将电脑系统装为双系统。而在Linux环境下像微软软件的替代品也有不少(当然特指ubuntu)而在学校机房就没有这么幸运了,Kali Linux就是一个典型的例子,但是文档的通行格式却不是docx或者doc,而是PDF( Portable Document Format,便携式文档格式 ),PDF可以让用户在不同的系统上用同样的方式查看文本文档和图片。

PDF

    目前在python2.x里有不少的PDF解析库,还没有迁移到python3.x版本,但是由于PDF本身不复杂,而且又是开源的文档格式,所以有一些给力的Python库可以读取PDF文件,而且支持Python3.x版本:即PDFMiner3K,他十分灵活可以通过命令行使用,也可以整合到代码当中,也可以处理不同语言的编码,而且对于网络文件的处理也是十分给力。(继上次没又找到在线的txt资源后又没有找到pdf。。毕竟html相较于pdf太好用了。)

    安装--下载地址:https://pypi.python.org/pypi/pdfminer3k(我就继续用pychrom偷懒了/这里我用的是2k+py2.7。)

输出有点尴尬//因为有好几张小图。。然后就不太乐观就不放了

微软Word和.docx

    作为假粉丝和破解版用户,word系列可以说是用的最舒心的文档处理软件,无广告功能强大,表格文件图片随便衔接,各种统计和格式化功能让你用的很舒心(不像某wps,天天一堆广告还卡的要死)在某些网站上很流行word文档,其实在我心目而言,若是资源上纲上线,html无疑是最好的。在08(具体不知道了)以前,微软使用.doc格式,这种二进制格式很难读取,为了兼容和跟上时代,微软推出了类xml格式标准的.docx。虽然在Python当中有一个python-docx库(http://python-docx.readthedocs.org/en/ latest/)但是坦言论:一个只能读取文档大小和文件标题的库对于实际没有什么用处,若要读取正文内容,问题就又回归到了XML解析。其实稍微注意一下就会发先一个问题:word文档完全可以另存为xml,事实正式如此:

   这样我们暂且得到了xml。所以接下来要做的事情就是解析XML:

虽然上面的写法写出来可能会有点格式不对,但是依旧可以输出当中的所有文字,如果要详细解析那就得进一步观察:标签存在<w:val>或者<w:p>等,所以可以利用BeautifulSoup的导航功能来解决:

     当然这部分功能仅限于docx了。。其他的有些好像不可以。但是这个解析xml稳的(其实要真解析还需更详细)


    

发表评论

电子邮件地址不会被公开。 必填项已用*标注