报告实验室无法处理希伯来语 (unicode) [英] Report Lab can't handle hebrew (unicode)

查看:60
本文介绍了报告实验室无法处理希伯来语 (unicode)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试通过以下 python 编程生成 pdf,但生成的输出没有正确显示希伯来字母

I am trying to generate the pdf from following python programming but generated output doesn't display hebrew letters correctly

# -*- coding: utf-8 -*-
from reportlab.pdfgen import canvas
def hello(c):
    c.drawString(100,100, "מה שלומך")
c = canvas.Canvas("hello.pdf")
hello(c)
c.showPage()
c.save()

推荐答案

这段代码(见下文)有效!您需要做的就是将 ArialHB.ttf(或任何其他支持希伯来语字符的字体)放入 site-packages/reportlab/fonts...

This code (see below) works! All you need to do is place ArialHB.ttf (or any other font that supports Hebrew characters) into site-packages/reportlab/fonts...

所需的输出将在 pdf 页面的底部.

The desired output will be at the bottom of the pdf page.

# -*- coding: utf-8 -*-

from reportlab.pdfgen import canvas 
from reportlab.pdfbase import pdfmetrics 
from reportlab.pdfbase.ttfonts import TTFont 

pdfmetrics.registerFont(TTFont('Hebrew', 'ArialHB.ttf'))

def hello(c):
    c.setFont("Hebrew", 14)
    c.drawString(10,10, u"מה שלומך".encode('utf-8'))

c = canvas.Canvas("hello.pdf") 
hello(c) 
c.showPage()
c.save()

这篇关于报告实验室无法处理希伯来语 (unicode)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆