python生成PDF的方式对比总结

背景: 有限的资源下,异步并发生成PDF报错,内存不足。
目的: 在有限资源的情况下,并发生成PDF,并且耗费的资源较少(资源:CPU以及内存),并且并发生成PDF的速度不能太慢,生成的PDF样式要丰富,并且生成的PDF内容要完整。
根据我调研的生成pdf的方式(python)有reportlab、pdfkit、xhtml2pdf、django-easy-pdf.

一、reportlab库
这个库可自己绘制各种图表,只是依赖于这个reportlab库,其次字体问题,可以引入字体文件进行解决。
简单的样例:


from reportlab.lib.styles import getSampleStyleSheet
from reportlab.platypus import Paragraph,SimpleDocTemplate
from reportlab.lib import  colors
#  字体
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
pdfmetrics.registerFont(TTFont('song', STSONG.ttf))

Style=getSampleStyleSheet()

bt = Style['Normal']     #字体的样式
# bt.fontName='song'    #使用的字体
bt.fontSize=14            #字号
bt.wordWrap = 'CJK'    #该属性支持自动换行,'CJK'是中文模式换行,用于英文中会截断单词造成阅读困难,可改为'Normal'
bt.firstLineIndent = 32  #该属性支持第一行开头空格
bt.leading = 20             #该属性是设置行距

ct=Style['Normal']
# ct.fontName='song'
ct.fontSize=12
ct.alignment=1             
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值