pdfMiner3k

寒潭烟光 2018-03-28 10:17:27
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LAParams, LTTextBoxHorizontal
from pdfminer.pdfparser import PDFParser, PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter, PDFTextExtractionNotAllowed
from pdfminer.pdfdevice import PDFDevice


def read_pdf(pdf_filename, txt_filename):
fp = open(pdf_filename, 'rb')
parser = PDFParser(fp)
doc = PDFDocument()
parser.set_document(doc)
doc.set_parser(parser)
doc.initialize('')
if not doc.is_extractable:
raise PDFTextExtractionNotAllowed
rsrcmgr = PDFResourceManager()
laparams = LAParams()
device = PDFPageAggregator(rsrcmgr, laparams=laparams)
interpreter = PDFPageInterpreter(rsrcmgr, device)
for page in doc.get_pages():
interpreter.process_page(page)
layout = device.get_result()
for x in layout:
if isinstance(x, LTTextBoxHorizontal):
with open(txt_filename, 'a') as f:
results = x.get_text()
print(results)
f.write(results + '\n')


if __name__ == '__main__':
pdf_filename = 'E:\\知识图谱项目\\《中国药典》2015年版 第一部.pdf'
txt_filename = 'E:\\知识图谱项目\\《中国药典》2015年版 第一部.txt'
read_pdf(pdf_filename, txt_filename)

D:\python3.6.2\python.exe E:/知识图谱项目源码/extractEntity/extract_entity_codex.py
WARNING:root:Cannot locate objid=21077
WARNING:root:Cannot locate objid=21077
WARNING:root:Wrong type: None required: <class 'dict'>
WARNING:root:Cannot locate objid=21074

Process finished with exit code 0

为什么为出现警告,而且没有读取PDF文件的任何内容

...全文
944 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
muhuaqingfeng 2020-03-29
  • 打赏
  • 举报
回复
请问这个问题怎么解决?
Mark-30 2019-08-14
  • 打赏
  • 举报
回复
请问解决了吗
CSDN客服-糊胡 2018-03-29
  • 打赏
  • 举报
回复
引用 楼主 cswangjiawei 的回复:
from pdfminer.converter import PDFPageAggregator from pdfminer.layout import LAParams, LTTextBoxHorizontal from pdfminer.pdfparser import PDFParser, PDFDocument from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter, PDFTextExtractionNotAllowed from pdfminer.pdfdevice import PDFDevice def read_pdf(pdf_filename, txt_filename): fp = open(pdf_filename, 'rb') parser = PDFParser(fp) doc = PDFDocument() parser.set_document(doc) doc.set_parser(parser) doc.initialize('') if not doc.is_extractable: raise PDFTextExtractionNotAllowed rsrcmgr = PDFResourceManager() laparams = LAParams() device = PDFPageAggregator(rsrcmgr, laparams=laparams) interpreter = PDFPageInterpreter(rsrcmgr, device) for page in doc.get_pages(): interpreter.process_page(page) layout = device.get_result() for x in layout: if isinstance(x, LTTextBoxHorizontal): with open(txt_filename, 'a') as f: results = x.get_text() print(results) f.write(results + '\n') if __name__ == '__main__': pdf_filename = 'E:\\知识图谱项目\\《中国药典》2015年版 第一部.pdf' txt_filename = 'E:\\知识图谱项目\\《中国药典》2015年版 第一部.txt' read_pdf(pdf_filename, txt_filename) D:\python3.6.2\python.exe E:/知识图谱项目源码/extractEntity/extract_entity_codex.py WARNING:root:Cannot locate objid=21077 WARNING:root:Cannot locate objid=21077 WARNING:root:Wrong type: None required: <class 'dict'> WARNING:root:Cannot locate objid=21074 Process finished with exit code 0 为什么为出现警告,而且没有读取PDF文件的任何内容
您好! 请问您反馈的是知识库的问题吗?如果是,经技术产品,不是我们的问题,应该是您电脑的问题。

544

社区成员

发帖
与我相关
我的任务
社区描述
客服专区
其他 技术论坛(原bbs)
社区管理员
  • 客服专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧