python reportlab 生成中文PDF范例

 

注意安装reportlab库,默认是没有的 
我使用的是debian6环境,需要安装文泉译字体 
apt-get install wqy* #安装文泉译简体中文字体 
范例是生成一个df命令,查看当前系统磁盘容量的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,11*inch)
 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)


转自:http://www.oschina.net/code/snippet_97044_9209

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值