使用ReportLab引用更多页面

时间:2010-07-27 20:32:53

标签: python reportlab

我正在使用ReportLab创建长问卷,我需要创建像

这样的文本
  

如果您没有过敏症,请继续第168页

ReportLab是否提供了一些可以帮助我完成此引用任务的功能?

我知道这个问题可能需要双通算法。在第一遍中,找到页面的数字。第二遍完成文本,调整对正确页面的引用。 ReportLab API中有什么东西可以帮助在这种情况下?

2 个答案:

答案 0 :(得分:1)

距离最初的问题已经过去了两年,但我会为了其他可能从搜索引擎提出这个问题的人而冒险回答:

Reportlab支持内部链接。报告实验室用户指南的相关部分[仅限PDF,可用here]读取......

  

PDF支持内部超链接。可以通过单击触发各种链接类型,目标类型和事件。目前我们只支持从文档的一个部分跳转到另一个部分的基本功能,并在跳转后控制窗口的缩放级别。 bookmarkPage方法定义了一个目标,它是跳转的终点... [第4.2节]

答案 1 :(得分:0)

这是我的工作方式:

1,必须这样注册目的地(名称是键):

   st = ParagraphStyle('a style', alignment=TA_CENTER)
   from hashlib import sha1
   destination = sha1("Vintage".encode('utf-8')).hexdigest()
   b = Paragraph("My Page"+'<a name="%s"/>' % destination, st)
   b._bookmarkName = destination

   =====

2,稍后对您要单击的段落中的链接执行此操作(关键点是前面的#号):

 contents = Paragraph(text="This <a href=#{} color=blue> Vintage </a>".format(destination), style=st)

在此段中,单击Vintage,然后根据需要转到目标页面