Python reportlab庫之Graphics
ReportLab Graphics是 ReportLab庫的子包。它起初是一個獨立的程序,但是現(xiàn)在它被集成到ReportLab 工具集中了。Graphics 允許您使用強大到表格和圖像屬性來提高PDF文件的表格和報告的表達能力。
Drawings 和 Renderers
Drawing是對一組shapes的獨立描述,它不受系統(tǒng)和平臺的影響,獨立于PDF。
一個Drawing包含許多的基礎形狀,例如矩形、圓形、線等。Group是一種特殊的形狀(邏輯上的形狀)。在Graphics世界里,幾乎任何東西都可以通過少量基礎形狀進行構建。
Graphics包還提供了多種類型的Renderers,每一個Renderer都是服務于一種特殊類型文件格式。例如PDF (renderPDF), Postscript (renderPS), and bitmap output (renderPM)。
坐標系統(tǒng)
在PDF中坐標系默認是bottom up(自地向上的,從左下開始),下面我們看個小demo
hello world sample
from reportlab.lib import colors
from reportlab.graphics.shapes import *
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, 'Special 123!@#',
fillColor=colors.red))
from reportlab.graphics import renderPDF
renderPDF.drawToFile(d, 'example1.pdf', 'My First Drawing')
效果圖
hello world