我尝试用西里尔文获取数据时出错
import codecs
pdfFileObj = codecs.open('1.pdf', 'rb','utf-8')错误是
'utf8' codec can't decode byte 0x9c in position 1: invalid start byte发布于 2017-10-05 21:40:16
PDF不是文本文件
PDF不是unicode,PDF充满了二进制流,带有文本、图像等。
使用一些PDF库
看看PyPDF2吧。要从第一页获取文本,请执行以下操作
pdf = PdfFileReader(open('/tmp/russian.pdf', 'rb'))
text = pdf.getPage(0).extractText()尽管您可能还需要将其转换为windows-1251。
text.encode('latin').decode('windows-1251')发布于 2021-12-28 00:09:05
这是一个使用pdfminer.six的解决方案;它支持西里尔字符
from pdfminer import high_level
with open('file.pdf', 'rb') as f:
text = high_level.extract_text(f)
print(text)https://stackoverflow.com/questions/46581122
复制相似问题