python 的 FPDF multicell 为 RTL 颠倒书写

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

我正在使用我用 Flask 构建的网站从用户那里获取数据(阿拉伯文文本)并使用 FPDF 生成 PDF 文件,并使用 PyPDF2 将其与现有 PDF 背景作为模板合并,我还使用

from bidi.algorithm import get_display import
arabic_reshaper 
修复阿拉伯字母。

我从

<textarea>
收到一条文本并将其发送到我的
write_to_pdf()
,它确实支持多行,一切都很顺利,除了文本是从下写的

示例:

这是我的输入:

ك已ط。研究
输出:


output我的书写功能:

def write_to_file(fields): PDF = FPDF(format="A4") fields: list[dict] with open(f"{BASE_PATH}/pdf_templates/school_template.pdf", "rb"): PDF.add_page() for field in fields: set_color(PDF, field["color"]) set_font(PDF, field["font"], field["font_size"]) PDF.set_xy(field["coordinates"]["x"], field["coordinates"]["y"]) fixed_arabic_text = fix_arabic_text(field["text"]) if field["resize_to_fit"] == True: resize_to_fit(PDF, fixed_arabic_text, max_size=field["max_size"]) PDF.multi_cell(field["width"], field["hieght"], align=field["align"], txt=fixed_arabic_text, border=field["border"], )

编辑:反转文本有效,但现在它写的是 LTR,我需要 RTL :D

output 2 but needs to be RTL

你找到解决办法了吗? 还是还没有?
python fpdf
1个回答
0
投票

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