文字排版reportlab

话不多说,看图:reportlab 真心的优美,pdf生成利器。https://www.reportlab.com/dev/reportlabplus/ 

有需要排版需要的可联系我。

文字排版reportlab

 

 

 

还是上带码吧,python真他妈的优雅。我在想是不是可以实现一个tex解析器,干暴Latex啊 因为latex最自豪的就是可以排版出错落有至的LaTeX。而上边的排版简直想怎么排就怎么排。

这种版式估计word怎么排都难排出来,哈哈

比latex方便100倍有没有啊,进行资助我的可以私信我。

from reportlab.pdfgen import canvas
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
import math
pdfmetrics.registerFont(TTFont('simhei', 'simhei.ttf'))


class Character:
    def __init__(self,name='-',codes=None,pos=(10,10),fontsize=15,font=None):
        self.name=name
        self.codes=codes if codes else self.name.encode()
        self.pos=pos
        self.fontsize=fontsize
        self.font=font
        
s='我是一个优美的行数'*9
l=len(s)
String=[]
for i in range(l):
    pos=i*7,int(math.cos(6.28*i/l)*100)+200
    size=int(math.cos(6.28*i/l)*10)
    fontsize= 5*(size+0.1)/abs(size+0.1) if abs(size)<5 else size
    c=Character(s[i],pos=pos,fontsize=fontsize)
    String.append(c)

c=canvas.Canvas('c.pdf',bottomup=1)

for ch in String:
    c.setFont('simhei',ch.fontsize)
    c.drawString(ch.pos[0],ch.pos[1],ch.codes)

c.showPage()
c.save()

 

上一篇:python – 将matplotlib对象加载到reportlab中


下一篇:python – 将支持页面布局的水平线添加到ReportLab表布局