嗨,我有一些pdf的,我需要他们的文字信息被提取。我使用了以下代码:
pdfFileObj = open('abc.pdf', 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
pageObj = pdfReader.getPage(0)
pageObj.extractText()但我得到的是一个特定的pdf:
‘\n\n\n’
然而,这段代码适用于我所拥有的一些pdf。可能的问题是什么?谢谢你。
发布于 2019-08-19 19:47:44
有时,Py2PDF不会拾取文本。发生这种情况时,我使用的一个解决方案是将pdf转换为jpeg,然后使用图像ocr (使用cv2的tesseract)来获取文本。您可以尝试使用的另一个库是slate (或用于Python3的slate3k )-这并不是真正稳定的库,因此您可能会在安装和运行它时遇到一些问题。我最终让它工作了,当Py2PDF失败时,我能够提取文本。
我用来在输入到tesseract之前清理JPEG文件的一个很好的代码--提高了文本输出的准确性。也有关于如何将JPEG读入tesseract的代码:Here
如果您使用的是Mac,您可以使用带有sips的os.system命令将pdf转换为jpeg。
发布于 2021-11-19 15:35:13
PyPDF2不支持从阿拉伯语pdf中提取文本我也遇到了同样的问题,经过一番搜索,我找到了一个名为pdfplumber的库,它可以提取阿拉伯文本,这是代码,请检查它
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)https://stackoverflow.com/questions/57553262
复制相似问题