Правильное написание текста на арабском и английском языках в файл с помощью PdfPlumber и Python Write
Я использую этот код:
import pdfplumber
pdf = pdfplumber.open('Hans Wehr Searchable PDF.pdf')
page = pdf.pages[10]
text = page.extract_text()
#writeTo = open("wehr_text.txt", "w")
#writeTo.write(text)
print(text)
pdf.close()
Когда я печатаю текст на терминал, я получаю:
خيرات ta'rīḳ датировка (письма и т. Д.); та'ри земля, земля (прил. земной; пл. خيراوت tawārīḳ2 дата; время; история; подземелье, подземная хроника, летопись│ ةايحلا خيرات t. аль-Хайах يكوش يضرا arḍī šaukī артишок биография; Биография \ Резюме; ماع خيرات ('āmm) всемирная история; خيراتلا ءاملع را araḍ (колл.; n. Un. ة) термит; историки древоточцы يخيرات tārīḳī history(al) ةيضرا arḍīya pl. -ат этаж; грунт (также, например, набивной ткани, картины); земля خرؤم mu'arriḳ pl. -ун историограф, этаж, первый этаж (тун.); склад, историк склада, летописец, летописец; - обвинения му'аррах датированы مورضرا arḍurum2 Эрзурум (город на северо-востоке Турции) ليبخرا arḳabīl архипелаг ةرا (также ةطروا) urṯa pl. طرا uraṯ (طروا) نخرا (άρχων) пл. ةنخارا arāḳina archon, пл. батальон (ранее, Eg.; mil.) знати (Chr.-Copt.) ةقطرا arṯaqa pl. -āt ересь (Chr.) بدرا irdabb (теперь обычно произносится как ardabb) мн. بدارا arādib2 ardeb, сухой عيرات см. عير measure (например, = 1981) نغرا urgun pl. نغارا aragin2 орган (mus. Instr.) ةبدرا irdabba выгребная яма لورا urgūl, argūl духовой инструмент (связанный с ندرلاا al-urdunn Jordan (река и страна) кларнет, состоящий из двух труб разной длины) ينالالا аль-мамлака аль-у. al-hāšimīya را ariqa a, чтобы не уснуть II, чтобы сделать Иорданское Хашимитское Королевство (официально бессонным (ه so), предотвратить так (ه) от обозначения) спящим زاودرا (фр. ardoise) arduwāz slate قرا araq бессонница, бессонница 1 زرا arz (сущ. un. ة) кедр ةكيرا arika pl. كئارا arā'ik2 диван, диван; трон 2 را aruzz рис ةليكرا argīla pl. ليكارا arāgīl2 (syr.) Водопровод,наргиле سرا arasa i (ars) обрабатывать землю يدنلرا irlandī ирландский سيرا irrīs и арис крестьянин, фермер 1 مرا arama i кусать يطارقتسرا aristuqrāṯī аристократ; ristocrat مرا urram коренные зубы│ مرلاا قرح ةيطارقتسرا aristuqrāṯīya аристократия (arraqa) скрежетать зубами (в гневе) وطسرا arisṯū Аристотель ةمورا arūma; пень شرا arš возмещение, коммерция, штраф, штраф; деньги с дерева крови (за пролитие крови; مرئم mi'ram корень (зуба) исл. Закон) 2 مارآārām (= مارا) мн. of مئر ri'm) белый سبوقسبا يشرا (греч. ὰρχιεπίσϰοπος) архиепископ антилоп قوديشرا (фр. archiduc) эрцгерцог, وديشرا نمرلاا al-arman армяне аррц рн. ضارا arāḍīn, نوضارا arāḍūn земля; земля, страна, регион, площадь; местность, اينيمرا armēniyā Armenia земля,почва│ ىلفسلا ضرلاا (suflā) وانرلاا al-arnāwuṯ албанцы нижнего мира; ةسدقملا ضرلاا (muqad[введите здесь описание изображения][1]dasa) يطوانرا arnāwuṯī Албанский Святая Земля, Палестина يضرا arḍī terrestrial, земли; почва-, بنرا arnab f., pl. بنارا arānib2 заяц; rabbit│ يدنھ بنرا (хинди) морская свинка земля- (в соединениях); расположен на или рядом
Проблема в том, что арабский текст должен быть написан справа налево, но буквы здесь написаны слева направо.
Есть ли способ заставить процесс извлечения и записи правильно писать арабские символы? Например: первая строка в выводе выше: خيرات . Его следует писать справа налево, а не слева направо.
На приведенном ниже изображении я показал, что мой терминал печатает арабский текст, как и должно быть, справа налево. Однако при записи или копировании и вставке он становится слева направо.
imgur.com/mmSet.png
Я вижу здесь свои варианты, чтобы быть
а) Напишите код, чтобы найти все арабские слова и перевернуть их в текстовом файле.
б) Найдите другой инструмент для извлечения текста, который может правильно печатать / записывать в файл на арабском языке.
c) Решите проблему PDFPlumber/Python с таким написанием, написав дополнительный код, который указывал бы, что арабский язык следует писать справа налево.
Кто-нибудь захочет взглянуть на это и поделиться другими возможными решениями этой проблемы?