Неправильное отображение арабских слов в FPDF (Python)Python

Программы на Python
Ответить
Anonymous
 Неправильное отображение арабских слов в FPDF (Python)

Сообщение Anonymous »

Проблема:

Я пытаюсь создать PDF-файл, содержащий арабский абзац, с помощью библиотеки FPDF. Слова на арабском языке отображаются неправильно (должно быть справа налево), но они отображаются слева направо как английские.

что я пробовал: 1- загрузить шрифт, поддерживающий арабские буквы 2- закодировать файл .txt и декодировать его обратно, чтобы записать его в pdf (используя UTF-8)

Примечание: после запуска переменная txt (с кодировкой='utf-8') содержит слова правильно, как и в файле .txt, проблема только в pdf :).

pdf = fpdf.FPDF(format='letter')

# Read text file
name = 'mqal.txt'
with open(name, 'r', encoding="utf-8") as f:
txt = f.read()

pdf.add_page()
# freeserif because it support arabic letters
pdf.add_font('FreeSerif', '', 'FreeSerif.ttf', uni=True)
pdf.set_font('FreeSerif', '', 12)
pdf.multi_cell(0, 5, txt,0,'R')
pdf.ln()

pdf.cell(0, 5, 'End')
pdf.output("mqal8.pdf")


ВЫВОД (В ФАЙЛЕ PDF):

ملعت نودو ،ةددحم تاوطخ وأ دعاوق يأ عبتت نأ نود لاقم ةباتكب أدبت نأ كنكمي ديكأتلابو معن
اهلوحتو كراكفأ رصعب أدبتو ،كبوساح مامأ سلجت نأ وه هلعف كيلع ام لك ،لاقملا ةباتك سسأ
،هتباتك تمت عومسم مالكب نوكت ام هبشأ ةجيتنلا نوكتس ام ابلاغ ،بوتكم صن ىلإ ةرشابم
اعبط اذه
لإ


это должно быть так:

نعم وبالتأكيد يمكنك أن تبدأ بكتابة مقال دون أن تتبع أي قواعد أو خطوات محددة، ودون تعلم أسس كتابة المقال، كل ما عليك فعله هو أن تجلس أمام حاسوبك، وتبدأ بعصر أفكارك وتحولها مباشرة إلى نص مكتوب، غالبا ما ستكون النتيجة أشبه ما تكون بكلام مسموع تمت كتابته، هذا طبعا إلّا إن كنت خبيرا بكتابة المقالات


Подробнее здесь: https://stackoverflow.com/questions/588 ... pdf-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»