我知道我可以在内部链接画布,但我的整个文档都是用Platypus设置的。 Platypus支持内部链接吗?如果没有,那么迁移到画布有多难?
提前致谢!
答案 0 :(得分:3)
您可以使用段内标记来创建锚点(<a>
标记)和链接(<link>
标记),如 6.3段内标记部分所述( ReportLab 2.6 User Manual PDF的第6章,第72页),其中还包含以下示例:
This <a href="#MYANCHOR" color="blue">is a link to</a> an
anchor tag ie <a name="MYANCHOR"/><font color="green">here</font>.
This <link href="#MYANCHOR" color="blue" fontName="Helvetica">is
another link to</link> the same anchor tag.
答案 1 :(得分:0)
受https://www.blog.pythonlibrary.org/2014/03/10/reportlab-how-to-create-custom-flowables/启发的方法。
创建一个继承自Flowables的自定义类,可以添加到“故事”中
class flowable_bookmark(Flowable):
def __init__(self, x=0, y=0, width=10, height=10, bookmark_name = "", text=""):
Flowable.__init__(self)
self.x = x
self.y = y
self.width = width
self.height = height
self.bookmark_name = bookmark_name
self.text = text
def draw(self):
self.canv.drawString(self.x, self.y, self.text)
self.canv.bookmarkPage(self.bookmark_name)
用法:
my_anchor = flowable_bookmark("MYANCHOR", text=" ")
self.story.append(my_anchor)