我只想简单的设置页面的背景色。但是在报告实验室你应该用左手把右耳夹在膝盖下面.我在谷歌上搜索过,但是到处都很简单--用颜色创建Rect。但如何?
doc = BaseDocTemplate(buffer)
Elements=[]
#Two Columns
frame1 = Frame(doc.leftMargin, doc.bottomMargin, doc.width/2-6, doc.height, id='col1')
frame2 = Frame(doc.leftMargin+doc.width/2+6, doc.bottomMargin, doc.width/2-6, doc.height, id='col2')
Elements.append(Paragraph('HEADING',styles['Heading1']))
Elements.append(Paragraph('Lorem Ipsum Dolor', styles['Normal']))
doc.addPageTemplates([PageTemplate(id='TwoCol',frames=[frame1,frame2]), ])
doc.build(Elements)我试过使用绘图,但是0,0不是页面的左底部坐标,而是绘图的左底部坐标。但左下角怎么画-不知道.
draw = Drawing(500, 200)
rectangle = Rect(0,0,100,100)
color = PCMYKColor(15,9,0,8)
rectangle.fillColor = color
rectangle.strokeColor = color
draw.add(rectangle)
Elements.append(draw)我发现,doc.width和doc.height很适合右上坐标.
发布于 2021-12-22 20:15:12
对我有效的解决办法是:
Elements=[]
def setBackground(canvas, document):
color = PCMYKColor(15,9,0,8)
canvas.setFillColor(color)
canvas.rect(0,0,doc.width+doc.leftMargin+doc.rightMargin,doc.height+doc.topMargin+doc.bottomMargin, fill=True, stroke=False)
#Two Columns
frame1 = Frame(doc.leftMargin, doc.bottomMargin, doc.width/2-6, doc.height, id='col1')
frame2 = Frame(doc.leftMargin+doc.width/2+6, doc.bottomMargin, doc.width/2-6, doc.height, id='col2')
Elements.append(Paragraph('HEADING',styles['Heading1']))
Elements.append(Paragraph('Lorem Ipsum Dolor', styles['Normal'])
doc.addPageTemplates([PageTemplate(id='TwoCol',frames=[frame1,frame2],onPage=setBackground) ])
#start the construction of the pdf
doc.build(Elements)https://stackoverflow.com/questions/70454114
复制相似问题