首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Reportlab + SimpleDocTemplate +表格-创建带文本的二维码-多页

Reportlab + SimpleDocTemplate +表格-创建带文本的二维码-多页
EN

Stack Overflow用户
提问于 2016-10-05 17:03:25
回答 1查看 534关注 0票数 0

我正在使用Reportlab创建一个pdf文件,该文件可以跨越多个页面,格式如下:

二维码+ h1段落+ 2-3行文本

我们需要支持具有我上面描述的格式的动态数量的元素。

我正在考虑在SimpleDocTemplate中使用一个表,但是找不到一种方法来支持可以跨越多个页面的元素的动态数量。

你将如何应对这一挑战?

EN

回答 1

Stack Overflow用户

发布于 2016-10-05 19:54:52

这段代码并没有完全正常工作,但它可以帮助您开始

代码语言:javascript
复制
class StandardReport:

def __init__(self,):
    self.doc = BaseDocTemplate(destinationPath , showBoundary = 0, leftMargin=0.7*cm, rightMargin=0.7*cm, topMargin=0.7*cm, bottomMargin=0.7*cm, pagesize=A4)
    self.simpleFrame = Frame(self.doc.leftMargin, self.doc.bottomMargin, self.doc.width, self.doc.height - 5*cm, id='normal')

def createPdf(self):
    templates = [];
    self.doc.totalPages = 0;

    self.fill_sample();
    templates.append(SamplePageTempalte(self));
    self.doc.totalPages = self.doc.totalPages + 1;

    self.doc.addPageTemplates(templates);
    self.doc.build(self.Elements)

class SamplePageTempalte (PageTemplate):
    def __init__ (self, context):
        self.context = context
        self.largeur = self.context.doc.pagesize[0]
        self.hauteur = self.context.doc.pagesize[1]
        self.simpleFrame = Frame( self.context.doc.leftMargin, self.context.doc.bottomMargin, self.context.doc.width, self.context.doc.height - 3*cm, id='normal')
        PageTemplate.__init__ (self, id="GraphStatPageTemplateMonth", frames = [self.simpleFrame], pagesize=A4, onPage = self.context.footerAndHeader)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39869671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档