python – pdfminer上的警告
我已经发现并(稍微)修改了stackoverflow中的这个脚本,以便它可以在
python 3.3上运行:
from pdfminer.pdfinterp import PDFResourceManager,process_pdf from pdfminer.converter import TextConverter from pdfminer.layout import LAParams from io import StringIO def convert_pdf(path): rsrcmgr = PDFResourceManager() retstr = StringIO() codec = 'utf-8' laparams = LAParams() device = TextConverter(rsrcmgr,retstr,laparams=laparams) fp = open(path,'rb') process_pdf(rsrcmgr,device,fp) fp.close() device.close() string = retstr.getvalue() retstr.close() return string print(convert_pdf('abc.pdf')) 它工作正常,但我似乎有两个问题: >在运行脚本时,我收到了大量警告: 警告:root:undefined:PDFCIDFont:basefont =’LKOELN Wingdings-Regular’,cidcoding =’Adobe-Identity’,139 在印刷文本中看起来像(cid:139),如何捕获此警告并用其他内容替换该文本? >请注意,我有一个编解码器行,在原始脚本中进入TextConverter(rsrcmgr,laparams = laparams),但是我得到: Traceback(最近一次调用最后一次): 这与第一期有关吗? 谢谢! 解决方法
不幸的是,Pdfminer3k记录到Python根记录器. PDFMiner应该正确实现日志记录恕我直言.因此无法以正常方式禁用日志记录.
logging.getLogger("pdfminer").setLevel(logging.WARNING) 坏消息! 我这样做了,它有效?: logging.propagate = False logging.getLogger().setLevel(logging.ERROR) 它将根记录器设置为级别错误.这将停止PDFMiner警告日志记录,因为它记录到根记录器,但不记录您自己的日志记录. 我需要将传播设置为False,因为在使用PDFMiner之后,我有重复的日志记录条目.这是由根记录器引起的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |