首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用西里尔文从pdf中获取数据?

如何用西里尔文从pdf中获取数据?
EN

Stack Overflow用户
提问于 2017-10-05 16:30:11
回答 2查看 1.1K关注 0票数 1

我尝试用西里尔文获取数据时出错

代码语言:javascript
复制
import codecs
pdfFileObj = codecs.open('1.pdf', 'rb','utf-8')

错误是

代码语言:javascript
复制
'utf8' codec can't decode byte 0x9c in position 1: invalid start byte
EN

回答 2

Stack Overflow用户

发布于 2017-10-05 21:40:16

PDF不是文本文件

PDF不是unicode,PDF充满了二进制流,带有文本、图像等。

使用一些PDF库

看看PyPDF2吧。要从第一页获取文本,请执行以下操作

代码语言:javascript
复制
pdf = PdfFileReader(open('/tmp/russian.pdf', 'rb'))
text = pdf.getPage(0).extractText()

尽管您可能还需要将其转换为windows-1251。

代码语言:javascript
复制
text.encode('latin').decode('windows-1251')
票数 1
EN

Stack Overflow用户

发布于 2021-12-28 00:09:05

这是一个使用pdfminer.six的解决方案;它支持西里尔字符

代码语言:javascript
复制
from pdfminer import high_level

with open('file.pdf', 'rb') as f:
    text = high_level.extract_text(f)
    print(text)

另请参阅https://stackoverflow.com/a/70501572/3367753

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46581122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档