python 读取pdf cid_繁体Pdf不能正常显示而是像(cid:152)(cid:618)(cid:825)(cid:2..._慕课问答...

本文档使用Python的pdfminer库从URL读取PDF文件,但遇到CID编码的繁体中文字符无法正常显示的问题。代码示例中,通过PDFPageAggregator、PDFResourceManager和PDFPageInterpreter等组件解析PDF,然后打印出文本内容。
摘要由CSDN通过智能技术生成

#就是用的老师的代码= =

#!/usr/bin/env python

# -*- coding:utf-8 -*-

from pdfminer.converter import PDFPageAggregator

from pdfminer.layout import LAParams

from pdfminer.pdfparser import PDFParser, PDFDocument

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter

from pdfminer.pdfdevice import PDFDevice

from urllib.request import urlopen

# 获取文档对象

# fp = open("naacl06-shinyama.pdf", "rb")

fp = urlopen("http://www.tencent.com/zh-cn/content/ir/an/2016/attachments/20160321.pdf")

# 创建一个与文档关联的解释器

parser = PDFParser(fp)

# PDF文档的对象

doc = PDFDocument()

# 链接解释器和文档对象

parser.set_document(doc)

doc.set_parser(parser)

# 初始化文档

doc.initialize("")

# 创建PDF资源管理器

resource = PDFResourceManager()

# 参数分析器

laparam = LAParams()

# 创建一个聚合器

device = PDFPageAggregator(resource, laparams=laparam)

# 创建PDF页面解释器

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"):

print(out.get_text())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值