我使用python reportlab(window10,python3.6)在页面中编写文本,当文本是英语时它可以工作,但当我使用阿拉伯语文本时,它在图像中编写混乱的代码。
下面是我的代码:
from reportlab.lib.units import mm
from reportlab.lib.pagesizes import A4
from reportlab.pdfgen import canvas
page = canvas.Canvas("test.pdf", pagesize=A4)
page.drawString(10*mm, 267*mm, "اللغة العربية")
page.showPage()
page.save()
2条答案
按热度按时间ee7vknir1#
你必须使用一个支持阿拉伯字符的字体。我以字体
Scheherazade
为例(你必须复制Scheherazade-Regular.ttf
在site-packages\reportlab\fonts
):参考:Report Lab can't handle hebrew (unicode)
xxslljrj2#
要解决这个问题,你必须使用4个步骤:
1.导入***rtl***
1.实现此方法:
3.在pdf中添加字体。我使用FPDF库,并在下面添加代码
1.最后,您可以将文本传递到PDF生成器: