|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 songdi 于 2017-8-15 11:38 编辑
使用python提取到了PDF中的内容,想保存入TXT文档中。然而总是报错:TypeError: can't concat bytes to str。如何解决?代码如下:
- from pdfminer.pdfparser import PDFParser, PDFDocument
- from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
- from pdfminer.pdfdevice import PDFDevice
- from pdfminer.layout import LAParams
- from pdfminer.converter import PDFPageAggregator
- from pdfminer.pdfinterp import PDFPageInterpreter
- # 获得文档对象
- fp = open("Discussion.pdf","rb")
- # 创建一个与文档关联的解释器
- parser = PDFParser(fp)
- # PDF文档的对象
- doc = PDFDocument()
- # 连接解释器和文档对象
- parser.set_document(doc)
- doc.set_parser(parser)
- #初始化文档
- doc.initialize("")
- if not doc.is_extractable:
- raise PDFTextExtractionNotAllowed
- else:
-
- #创建一个PDF资源管理器
- resource = PDFResourceManager()
- #参数分析器
- laparam = LAParams()
- # 创建一个聚合器
- device = PDFPageAggregator(resource,laparams=laparam)
- # 创建页面解释器
- interpreter = PDFPageInterpreter(resource,device)
- # 使用文档对象从页面读取内容
- for page in doc.get_pages():
- # 使用页面解释器来读取
- interpreter.process_page(page)
- # 使用聚合器获取内容
- layout = device.get_result()
- for out in layout:
- if hasattr(out,"get_text"):
- result = out.get_text()
- # print(result)
- with open('a.txt','w') as f:
- f.write(result.encode('utf-8')+'\n')
复制代码
with open('a.txt','w',encoding='utf8') as f:
------------
你学些字符编码的基础知识去~
|
|