1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python使用Reportlab处理PDF数据 - 自定义页眉和页脚

Python使用Reportlab处理PDF数据 - 自定义页眉和页脚

时间:2019-09-09 14:41:17

相关推荐

Python使用Reportlab处理PDF数据 - 自定义页眉和页脚

有许多文档和报告要求您在首页或每页上都有页眉。 例如,如果您要为律师或法官生成报告,那么几乎可以肯定,所有页面上都需要合伙人信息。 在大多数医疗机构或医院中生成报告时也是如此。 他们的固定器必须以某种方式看起来。

大多数情况下,这些标头将包含以下字段:

日期一个或多个人的名字(例如诊所中的所有医生)地址电话/传真网址商标

一些文档还有其他信息。 例如:

文档编码页码页数与总页数ID号

考虑到标题,实际上标题可以具有无限多个字段。 我能想到很多其他的东西。 只需打开一些来自您的金融机构或保险公司的邮件,您就会在标头中看到其他字段。 这种情况也适用于页脚。 但是页脚通常没有那么多字段。 他们大多数时候通常都有页码,尽管我看到其中有些包含某种联系信息。

本文,我们将学习如何对标头执行以下操作:

创建一个通用的页眉/页脚模板添加页码添加页码与总页数添加徽标添加其他字段

此信息也将适用于页脚。 我们将创建几个可用于生成标题的模板。

天真的标题

在编写代码时,通常需要创建自己的可重用模块。 因此,让我们尝试使用我们的报告生成代码来做到这一点。 在本文,我们将创建一个简单的标头类,并将这个模块称为header.py。 这是代码:

代码略

现在,我们只需要编写一些可以使用我们的新标头模块的代码即可。 创建一个名为main.py的新文件,并添加以下代码:

代码略

这些代码所做的全部工作就是从标头模块导入Header类,创建它的实例,然后将其添加到我们的flowable列表中,然后生成报告。 运行第二个示例的结果如下所示:

看起来不错,但不是真正的标题。 它只是可流动的。 使用此方法创建标头时,每次创建新页面时都必须手动添加标头,这可能难以即时计算。 因此,让我们学习如何使这项工作正确无误!

每页放置页眉

生成文档时,您有几个额外的特殊参数,可用于控制第一页上以及后续所有页上的内容。 这些参数称为onFirstPage和onLaterPages。 您可以利用这些知识来制作自定义的页眉和页脚,然后只需调整文档模板的边距即可解决这些问题。

首先创建一个新的标头模块,我们将其称为header2.py。 它应该是这样的:

代码略

此代码仅需要两次导入,在这里我们可以获取可用于Paragraphs和Paragraph类本身的示例样式表。 然后,我们创建标题函数,该函数将画布和DocumentTemplate对象作为其唯一参数。 接下来,我们获取文档的宽度和高度,并创建示例样式表。 该功能的其余部分仅使用绝对定位来获取所需的各种文本。

详情参阅 - 亚图跨际

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