在做个一个python 自动生成A4纸标签的程序,所以事情都做完了,最后发现竟然有些人都名字显示不全。
例如,有个同学叫“刘偲”,但是生成都PDF却无法显示
# encoding: utf-8
from reportlab.lib import colors
from reportlab.graphics.shapes import *
import labels
from reportlab.graphics import shapes
import os.path
import labels
import os.path
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfbase.pdfmetrics import registerFont, stringWidth
from reportlab.graphics import shapes
from reportlab.lib import colors
base_path = os.path.dirname(__file__)
registerFont(TTFont('song', os.path.join(base_path, 'song.ttf')))
registerFont(TTFont('heiti', os.path.join(base_path, 'fangsong.ttf')))
d = Drawing(400, 200)
d.add(Rect(50, 50, 300, 100, fillColor=colors.yellow))
d.add(String(150,100, 'Hello World', fontSize=18, fillColor=colors.red))
d.add(String(180,86, '刘偲',fontName="heiti",fillColor=colors.red))
from reportlab.graphics import renderPDF
renderPDF.drawToFile(d, 'example1.pdf', 'My First Drawing')
效果
解决方法
把字库换成微软雅黑就解决了,您所气人不,嘿嘿。