是否有任何python包用于从RTL语言的PDF中很好地提取文本?

问题描述 投票:1回答:1

我曾经使用着名的Python文件包,如PDFminer,PyMuPDF,PyPDF2等。但是它们都不能正确地从用从右到左语言(波斯语,阿拉伯语)编写的PDF文件中提取文本。

例如:

import fitz
doc = fitz.open("*/path/to/file.pdf")
txt = doc.getPageText(0)
print(txt)

它返回这样的东西:

...

给我发电子邮件和电脑

我爱你

...

有时候这些单词被反转(第一个字符在最后一个)并且单词在一个句子中交换,有时单词被正确写入。但它不知道如何处理波斯语中常用的零宽度非连接器(نیمفاصله)。

我尝试了很多,但什么都没有。提前感谢您的帮助。

python pdf text-extraction text-alignment persian
1个回答
0
投票

我有这个问题,我写了下面的代码:

import sys
from builtins import print
import fitz, enchant

input_file = "p.pdf"
line_list = []

doc = fitz.Document(input_file)
page_count = doc.pageCount

for i in range(page_count):
    load_page = doc.loadPage(i)
    page = load_page.getText() # read a page
    page = str(page)
    line_list.append(page.splitlines()) # split every page based on \n

for j in range (len(line_list)):
    for k in range(3): 
        line_list[j][k] = line_list[j][k][::-1]
        print(line_list[j][k])

但这个包有两个问题。 1)反转单词(例如“سلام” - >“مالس”)我在这段代码中解决了它。 2)具有多种语言的文档存在问题,如波斯语和英语。

我希望

© www.soinside.com 2019 - 2024. All rights reserved.