python 将pdf转换成txt
由于上篇中的一个模块要求是将pdf中的文本内容给读取出来,因为大部分的毕设文档都是pdf格式的,而python自带的file I/O是没法实现从pdf格式的文件中读取内容的,因此需要导入第三方的package来完成。
@author: zhufeng '''
from pdfminer.pdfinterp import PDFResourceManager, process_pdf from pdfminer.converter import TextConverter from pdfminer.layout import LAParams
def convert(filename): outfile = filename+'.txt' args = [filename] rsrcmgr = PDFResourceManager() outfp = file(outfile,'w') device = TextConverter(rsrcmgr,outfp,codec='utf-8',laparams=LAParams()) for fname in args: fp = file(fname, 'rb') process_pdf(rsrcmgr, device, fp, pagenos = set(), maxpages = 0, password = '', check_extractable=True) fp.close() device.close() outfp.close()
if __name__ == '__main__': convert('g:/a.pdf')
ps.
希望继续深入,争取把图片也给抠出来,当然这样就得转换成doc文件,这里就需要涉及到编码问题,昨晚将出来的设置为doc格式,结果word识别就出现警告,好在用的是utf-8,没有影响最后的结果,但是毕竟还是出了个警告。
另外,有个想法,但是还没实现,因为用处不大,可以先用pyPdf将一篇pdf中的某几页截取出来存到一个新的pdf文件,然后再用pdfminer进行转换,这样就可以弥补pdfminer不能只读取某一部分的pdf的缺陷。
pyPdf转换效率极低!!!
有兴趣的可以去pdfminer的官网瞧瞧哈,http://www.unixuser.org/~euske/python/pdfminer/index.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
