近期涉及到了关于doc文档读取的处理,也查了很久,为了便于大家使用,故集大成一下。
Doc文档读取有如下几种:
1、从doc读取文本
目前没有找到直接的方式,一般是先转为docx文件在处理。所使用工具为doc2doc(批量时可用),或人工另存处理。
还有可以用antiword(依赖linux环境),使用“./antiword” + doc文件名即可读取文件内容。
2、从docx读取文本
一般使用python-docx库的方法,但只支持创建新文档和读取一些基本的文件数据,如文件大小和文件标题,不支持正文读取。
或直接从docx中读取xml的方法。
3、从pdf读取文本
一般使用pdfminer3k库或pyPdf库。其中pyPdf用起来其实稍显麻烦,很多操作不够方便。pdfminer 对表格不友好,也可以将 PDF 转换为 text 文本,还可以转换为 HTML 等带有标签的文本。
还有一种可以用pdf2htmlex(非python),先把pdf转html,接下来再用bs4来解析处理。这样的好处是处理html的工具非常非常丰富,且pdf2htmlex对原页面的效果保持得特别好,特别是对于那些个用word和latex导出的pdf里,大量数据图表里的标签可以很方便地提取所需的值。
4、把pdf中图存为jpg文件
一般可以使用PythonMagick库。
以上的代码处理,均在https://github.com/renwoxing2016/。