首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python 2:返回一些PyPdf的空结果

Python 2:返回一些PyPdf的空结果
EN

Stack Overflow用户
提问于 2019-08-19 16:46:22
回答 2查看 778关注 0票数 0

嗨,我有一些pdf的,我需要他们的文字信息被提取。我使用了以下代码:

代码语言:javascript
复制
pdfFileObj = open('abc.pdf', 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
pageObj = pdfReader.getPage(0)
pageObj.extractText()

但我得到的是一个特定的pdf:

‘\n\n\n’

然而,这段代码适用于我所拥有的一些pdf。可能的问题是什么?谢谢你。

EN

回答 2

Stack Overflow用户

发布于 2019-08-19 19:47:44

有时,Py2PDF不会拾取文本。发生这种情况时,我使用的一个解决方案是将pdf转换为jpeg,然后使用图像ocr (使用cv2的tesseract)来获取文本。您可以尝试使用的另一个库是slate (或用于Python3的slate3k )-这并不是真正稳定的库,因此您可能会在安装和运行它时遇到一些问题。我最终让它工作了,当Py2PDF失败时,我能够提取文本。

Slate

我用来在输入到tesseract之前清理JPEG文件的一个很好的代码--提高了文本输出的准确性。也有关于如何将JPEG读入tesseract的代码:Here

如果您使用的是Mac,您可以使用带有sips的os.system命令将pdf转换为jpeg。

票数 0
EN

Stack Overflow用户

发布于 2021-11-19 15:35:13

PyPDF2不支持从阿拉伯语pdf中提取文本我也遇到了同样的问题,经过一番搜索,我找到了一个名为pdfplumber的库,它可以提取阿拉伯文本,这是代码,请检查它

代码语言:javascript
复制
import pdfplumber
import arabic_reshaper
from bidi.algorithm import get_display
with pdfplumber.open(r'example.pdf') as pdf:
    my_page = pdf.pages[10]
    thepages=my_page.extract_text()
    reshaped_text = arabic_reshaper.reshape(thepages)
    bidi_text = get_display(reshaped_text)
    print(bidi_text)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57553262

复制
相关文章

相似问题

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