程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python利用reportlab打印圖文並茂內容

編輯:Python

本文主要介紹打印簡單的報告圖,如下圖示:

先上代碼:

from reportlab.platypus import SimpleDocTemplate, Image, Paragraph
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.pdfgen import canvas
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfbase import pdfmetrics
pdfmetrics.registerFont(TTFont('SimKai', 'D:\\Anaconda3\\envs\\torch1.5\\Lib\\site-packages\\reportlab\\fonts\\SimKai.ttf'))
doc = SimpleDocTemplate("Hello1.pdf")
styles = getSampleStyleSheet()
style0 = styles["Title"]
style0.fontName = "SimKai"
style = styles['Normal']
style.fontName = "SimKai"
style1 = styles["Heading3"]
style1.fontName = "SimKai"
style1.alignment = 1
story =[]
story.append(Paragraph("XX大學校醫院眼圖診斷報告", style0))
story.append(Paragraph("姓名:XXX", style))
story.append(Paragraph("年齡:23", style))
story.append(Paragraph("性別:男", style))
story.append(Paragraph("XX診斷圖示:", style))
t = Image("E:\\1.png", width=300, height=200) ##圖片路徑地址
story.append(t)
story.append(Paragraph("結果:一切正常", style))
story.append(Paragraph("日期:2022年6月15日", style))
story.append(Paragraph("XX大學校醫院", style1))
doc.build(story)

關於ParagraphStyle的參數說明如下:

我們選取幾個重要的參數進行說明:

  • fontName:字體名稱
  • fontSize:字體大小
  • leading:行間距
  • leftIndent:左縮進
  • rightIndent:右縮進
  • firstLineIndent:首行縮進
  • alignment:對齊方式
  • spaceBefore:段前間隙
  • spaceAfter:段後間隙
  • bulletFontName:列表名稱
  • bulletFontSize:列表字體大小
  • bulletIndent:列表縮進
  • textColor:字體顏色
  • backColor:背景色
  • borderWidth:邊框粗細
  • borderPadding:邊框間距
  • borderColor:邊框顏色

關於字體的形式參數說明:

這裡就是獲得系統提供的Normal格式,其實Normal格式與ParagraphStyle是一模一樣的,除了Normal格式,還可以獲得其他的格式。

  • Normal
  • BodyText
  • Italic
  • Heading1
  • Title
  • Heading2
  • Heading3
  • Heading4
  • Heading5
  • Heading6
  • Bullet
  • Definition
  • Code
  • UnorderedList
  • OrderedList

Reference: 

 用Python快速自動生成圖文並茂的PDF文件 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/318390273

 


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved