4

我知道我可以在内部与画布链接,但我的整个文档都是用鸭嘴兽设置的。Platypus 是否支持内部链接?如果没有,迁移到画布有多难?

提前致谢!

4

2 回答 2

5

您可以使用段落内标记来创建锚点 ( <a>tag) 和链接 ( <link>tag),如ReportLab 2.6 用户手册PDF的第6.3 节段落内标记(第 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.
于 2012-12-16T12:18:59.537 回答
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)
于 2021-06-11T02:27:08.120 回答