Python 中利用 reportlab 生成中文PDF范例

jopen 10年前

注意安装reportlab库,默认是没有的
我使用的是debian6环境,需要安装文泉译字体
apt-get install wqy #安装文泉译简体中文字体
范例是生成一个df命令,查看当前系统磁盘容量的PDF报表

df -h 命令内容生成PDF
#!/usr/bin/python  #coding=gbk  import datetime  import subprocess  import codecs  import reportlab.pdfbase.ttfonts  reportlab.pdfbase.pdfmetrics.registerFont(reportlab.pdfbase.ttfonts.TTFont('song', '/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc'))  import reportlab.lib.fonts    from reportlab.pdfgen import canvas  from reportlab.lib.units import inch  def disk_report():   p = subprocess.Popen("df -h ",shell=True,stdout=subprocess.PIPE)   return p.stdout.readlines()    def create_pdf(input,output="disk.pdf"):   now = datetime.datetime.today()   date = now.strftime("%h %d %Y %H:%M:%S")   c = canvas.Canvas(output)   c.setFont('song',10)   textobject = c.beginText()   textobject.setTextOrigin(inch,11inch)   textobject.textLines('''Disk Capacity Report: %s ''' % date )   for line in input:    line=line.decode("gbk")    textobject.textLine(line.strip())   c.drawText(textobject)   c.showPage()   c.save()  report = disk_report()  create_pdf(report)</pre></h3>