ReportLab.pdfgen 之Drawing

简介
该库主要用于生成PDF文件
该库是一个开源库
使用之前直接使用以下方式按照

pip install ReportLab 

或者在编辑器中安装即可
生成的PDF默认是A4大小
PYthon的版本最好是>=3.6

pdfgen

是最低水平生成PDF文件的包,
使用这个包可以再在PDF白板文件中绘制内容,其中canvas 可以通过坐标的方式在文件的对应位置填写内容
代码如下

from reportlab.pdfgen import canvas
def hello(c):
    c.drawString(90,90,'Hello World')
c = canvas.Canvas("hello.pdf")
hello(c)
c.showPage()
c.save()

drawString后面的坐标表示距离底部和左边的距离,可以用这种方式做一个页脚

以下是Canves函数参数

def __init__(self,filename,
             pagesize = (595.27,841.89),
             bottomup = 1,
             pageCompression = 0,
             enconding = rl_config.defaultEncoding,
             verbosity = 0,
             encrypt = None)

filename:输出PDF的名称
pagesize:PDF 的画布大小,默认是A4,但是最好在使用之前进行引用(letter 是另一种画布大小的标准)

from reportlab.lib.pagesizes import letter,A4
myCanves = Canvas('file.pdf',pagesize=letter)
width,height = letter

pageCompression:关于压缩相关的设置
encrypt:文件是否加密

Drawing Operations

具体内容样式设置

def hello(c):
    from reportlab.lib.units import inch 
    c.translate(inch,inch)#向左向上移动
    c.setFont("Helvetica",14) #设置字体大小
    c.setStrokeColorRGB(0.2,0.5,0.3) #设置颜色
    c.setFillColorRGB(1,0,1) #设置颜色
    c.line(0,0,0,7*inch) #设置边框
    c.line(0,0,1*inch,0) #设置边框
    c.rect(0.2*inch,0.2*inch,1*inch,1.5*inch,fill = 1)#画一个区域
    c.rotate(90) #字体大小
    c.setFillColorRGB(0,0,0.77) #字体颜色
    c.drawString(0.3*inch,-inch,"Holle World") #需要填入的文字以及文字的文字
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容