Reportlab:如何在所有创建的页面上保留画布配置

问题描述

我正在尝试将我的 convas 配置应用于所有创建的页面,下面的代码是我尝试过但失败的代码

def get_canvas():
    pdfmetrics.registerFont(TTFont("abc","abc.ttf"))
    can = canvas.Canvas("test.pdf",pagesize=letter)
    can.drawImage("poo.jpg",615,795)
    can.setFont("abc",10)
    
    return can

can = get_canvas()

# big_chunk is just a text (list of sentences)
ls_sentence = big_chunk.split("\n")

reducer = 0
len_sent = len(ls_sentence)
if len_sent > 30:
    page_num = math.ceil(len_sent / 30)
    begin = 0
    end = 29
    for page in range(1,page_num+1):
        for sentence in ls_sentence[begin:end]:
            rehaped_text = arabic_reshaper.reshape(sentence)
            bidi_text = get_display(rehaped_text)
            can.drawCentredString(300,700-reducer,bidi_text)
            reducer += 20
        reducer = 0
        begin += 29
        end += 29
        can.showPage()

代码将创建一个 pdf 文件,但只有第一页将在 def get_canvas() 中定义配置,所有其他页面保持不变(无图片,无字体)。有没有办法将配置应用到所有页面

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)