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

jopen 12年前發布 | 79K 次閱讀 Python Python開發

注意安裝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,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)</pre></h3>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!