1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python生成图文并茂的pdf--财务报表(三)--页面布局和排版

python生成图文并茂的pdf--财务报表(三)--页面布局和排版

时间:2022-05-18 10:52:27

相关推荐

python生成图文并茂的pdf--财务报表(三)--页面布局和排版

p​​​​​​文章一中的示例pdf可以看出,我们再生成pdf文档的时候少不了会有页眉页脚的设置。在了解页眉页脚怎么弄之前我们先了解一下canvas

pdf文档首先就得有页面,是页面肯定得有布局和排版。这样就需要了解Platypus-"Page Layout and Typography Using Scripts"的缩写。它是一个高水平的页面布局库。

Platypus的整体设计可以认为有几个层次,自上而下,

这些是: • DocTemplates作为文档的最外层容器。

• PageTemplates作为各种页面布局的规格。

• Frames页面中可包含流动文本或图形的区域规格。

• Flowables对应"flowed into the document"流入文档的文本或图形元素(即图像、段落和表 格等内容,但不包括页脚或固定页面图形等内容)。

DocTemplate包含一个或多个PageTemplate,每个PageTemplate包含一个或多个Frame。Flowa bles 是指可以flowed(流入)Frame的东西,例如Paragraph或Table。 要使用platypus,你需要从DocTemplate类中创建一个文档,并向其build方法传递一个Flowables 列表。

比方我们先要建一个文档。

doc = SimpleDocTemplate("doc名称”)

建一个页面中可包含流动文本或图形的区域规格:

frame = Frame(doc.leftMargin, doc.bottomMargin, doc.width, doc.height -12* cm, leftPadding=-5 * mm, rightPadding=-5 * mm, id='Normal')

然后想到页面布局的规格。pagetemplate 可以放frames。

template = PageTemplate(id='Normal', frames=frame)

再将页面布局放到doc里

doc.addPageTemplates(template )。

下面就是flowable。可以是段落,可以是图表。

例如

content =[]

##add some flowables

(mulu_style=ParagraphStyle(name="mulu", fontName="PingFangSCMedium", fontSize=16, alignment=TA_LEFT))

title2_style 设置了样式:字体颜色,字体,字体大小,对齐方式,underline颜色。具体最终样子文章1去看

content.append(Paragraph("<font name=Simhei><strong>01.</strong></font>账户运作基本情况....................<font name=Simhei><strong>P1</strong></font>", mulu_style))content.append(Spacer(1, 10 * mm))content.append(Paragraph("<font name=Simhei><strong>02.</strong></font>账户资产配置明细....................<font name=Simhei><strong>P1</strong></font>", mulu_style))

doc.multiBuild(content)

这样就能生成一个文档,文档内容就是有两行文字

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。