鱼C论坛

 找回密码
 立即注册
查看: 2625|回复: 4

pdfminer模块import时报错

[复制链接]
发表于 2019-12-1 10:27:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Poiink 于 2019-12-1 15:14 编辑

最近想写一个获取pdf文件内容并获得其页码的小脚本,参考网上的资料得知需要安装 pdfminer 模块,便使用pip方法进行安装,安装结果在尾图。但是在参考网上代码导入时,出现了如下情况:部分函数能够导入,但是部分报错
欲参考代码如下:
  1. # -*- coding: utf-8 -*-

  2. from pdfminer.pdfparser import PDFParser,PDFDocument
  3. from pdfminer.pdfinterp import PDFResourceManager,PDFPageInterpreter
  4. from pdfminer.converter import PDFPageAggregator
  5. from pdfminer.layout import LTTextBoxHorizontal,LAParams
  6. from pdfminer.pdfinterp import PDFTextExtractionNotAllowed

  7. def parsePDFtoTXT(pdf_path):
  8.     fp = open(pdf_path, 'rb')
  9.     parser = PDFParser(fp)  
  10.     document= PDFDocument()
  11.     parser.set_document(document)
  12.     document.set_parser(parser)
  13.     document.initialize()
  14.     if not document.is_extractable:
  15.         raise PDFTextExtractionNotAllowed
  16.     else:
  17.         rsrcmgr=PDFResourceManager()
  18.         laparams=LAParams()
  19.         device=PDFPageAggregator(rsrcmgr,laparams=laparams)
  20.         interpreter=PDFPageInterpreter(rsrcmgr,device)
  21.         for page in document.get_pages():
  22.             interpreter.process_page(page)
  23.             layout=device.get_result()
  24.             print(layout)
  25.             output=str(layout)
  26.             for x in layout:
  27.                 if (isinstance(x,LTTextBoxHorizontal)):
  28.                     text=x.get_text()
  29.                     output+=text
  30.             with open('C:\\Users\\user\\Desktop\\pdfoutput.txt','a',encoding='utf-8') as f:
  31.                 f.write(output)

  32. def get_word_page(word_list):
  33.     f=open('C:\\Users\\user\\Desktop\\pdfoutput.txt',encoding='utf-8')
  34.     text_list=f.read().split('<LTPage')
  35.     n=len(text_list)
  36.     for w in word_list:
  37.         page_list=[]
  38.         for i in range(1,n):
  39.             if w in text_list[i]:
  40.                 page_list.append(i)
  41.         with open('C:\\Users\\user\\Desktop\\result.txt','a',encoding='utf-8') as f:
  42.                 f.write(w+str(page_list)+'\n')
  43.                
  44. if __name__=='__main__':
  45.     parsePDFtoTXT('C:\\Users\\user\\Desktop\\群体药动学原理建立卡马西平和丙戊酸的定时定量给药模型及临床应用_林玮玮.pdf')
  46.     get_word_page(['群体药动学','服药时间','知情同意书','NONMEM','贝叶斯反馈'])
复制代码


导入时提示

导入时提示
安装.PNG
document.PNG
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-12-1 10:59:19 From FishC Mobile | 显示全部楼层
出错的模块就是没有啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-1 12:31:11 | 显示全部楼层
可能是模块更新了,你看看网上的代码是不是很久之前的了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-1 15:15:22 | 显示全部楼层
wp231957 发表于 2019-12-1 10:59
出错的模块就是没有啊

emmm,可是我在这个模块的文件夹里找到了 document.py 的文件(参见我修改问题内容的新的图),就有点不太明白了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-1 15:19:56 | 显示全部楼层
hrp 发表于 2019-12-1 12:31
可能是模块更新了,你看看网上的代码是不是很久之前的了

不知道耶,我查了挺多帖子,贴上去的那个是2019年7月份cnblog上的一篇文章的,挺多帖子都是这样的。我也刚学不久就不太清楚要咋解决这种报错
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-21 03:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表