本文共 2204 字,大约阅读时间需要 7 分钟。
生成PDF时,ReportLab可以使用几个特殊功能。 如:
您也可以使用ReportLab将元数据添加到PDF中。 这可以通过调用以下不言自明的canvas方法来完成:
您也可以使用ReportLab将元数据添加到PDF中。 这可以通过调用以下不言自明的canvas方法来完成:
文件注释不可见。 您只能通过打开“文档属性”对话框来查看它们,该对话框可在Adobe Reader中的“文件”->“属性”菜单项中找到。 这是向存档软件或其他可能需要使用PDF的软件提供有关文档的简单标准信息的好方法。
让我们看一个简单的演示:
代码略
所有这些都设置了PDF的作者,标题和主题。 如果在Adobe Reader中打开PDF并转到“文件”->“属性”,则应看到类似以下内容:
ReportLab支持将书签添加到PDF。 书签是一个内部超链接,您可以单击该超链接来浏览文档。 ReportLab仅支持从文档的一部分跳到另一部分的功能。 跳转后,您还可以在文档阅读器中控制缩放级别。 要将书签添加到文档中,您将需要使用bookmarkPage画布方法。 为了使书签可见可见,您还需要调用addOutlineEntry方法。
bookmarkPage画布方法标记如下所示:
canvas.bookmarkPage(name, fit='Fit', left=None, top=None, bottom=None, right=None, zoom )
bookmarkPage画布方法的默认设置是将页面本身定义为跳转目标。 默认情况下,它将缩放整个页面以适合屏幕。
让我们看一个创建书签的简单示例:
代码略
在这里,我们创建画布对象并绘制一个字符串。 然后,我们添加一个书签并调用showPage方法。 这将有效地创建一个分页符,以便对画布进行的任何其他图形调用都将在下一页上进行。 因此,我们在第2页上绘制了一个新字符串并添加了另一个书签。 最后,我们通过上述的addOutlineEntry方法将书签添加到PDF的轮廓中。 addOutlineEntry方法标记如下:
canvas.addOutlineEntry(self, title, key, level=0, closed=None)
在我们的示例中,我们仅传递标题和key。 key必须与我们之前在文档中添加的书签的名称匹配。 运行此代码时,您将在PDF的导航侧栏中看到类似以下内容的内容:
ReportLab将导航侧栏称为大纲树。 当您要将大纲条目添加到大纲树时,需要使用前面提到的addOutlineEntry方法。 许多用户喜欢使用侧边栏浏览文档,因此了解如何向该侧边栏添加条目可能很有价值。
正如我们刚学到的,可以将四个参数传递给addOutlineEntry方法:title,key,level和close。 title参数是将出现在导航窗格中的标题。 key是您在创建书签时使用的文档中的唯一字符串。 level参数默认为零,这是最高级别。 您一次只能下降一个级别。 如果您尝试下降多个级别,则会引发错误。 最后,closed参数告诉导航窗格是应该关闭还是打开书签。
ReportLab支持页面过渡的概念,这是一种有限形式的过渡,您可以在幻灯片之间切换时将其添加到Microsoft Powerpoint。 在这种情况下,仅当您将过渡设置为全屏模式时,才能在Adobe Reader中激活过渡。 这是您可以应用的过渡列表:
PageTransitionEffects = { 'Split': [direction_arg, motion_arg], 'Blinds': [dimension_arg], 'Box': [motion_arg], 'Wipe' : [direction_arg], 'Dissolve' : [], 'Glitter':[direction_arg] }
如您所见,您有六个可供选择。 如上所示,您可以应用方向自变量或运动自变量或两者都应用。 这是ReportLab文档的清单,显示了这些参数的有效值:
direction_arg = [0,90,180,270]dimension_arg = ['H', 'V']
如果要向PDF添加过渡效果,则需要调用setPageTransition canvas方法,如下所示:
canvas.setPageTransition(self, effectname=None, duration=1, direction=0, dimension='H', motion='I')
让我们创建一个简单的示例:
代码略
转载地址:http://crilz.baihongyu.com/