zoukankan      html  css  js  c++  java
  • 文字排版reportlab

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

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

    还是上带码吧,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()
  • 相关阅读:
    函数指针的比较
    C++代码
    C++/STL
    Video Downloader使用总结
    98五笔输入法总结
    优酷url的encode与decode
    Directory类总结
    申请GV以及相关
    不用客户端下载腾讯视频
    选择写作博客的原则
  • 原文地址:https://www.cnblogs.com/yjphhw/p/14145544.html
Copyright © 2011-2022 走看看