8

我正在使用 ReportLab 使用 Python 制作 pdf。我想在画布上添加一个形状,并让该形状充当超链接。在以下示例链接到 google.com 中制作矩形的最简单方法是什么?

from reportlab.pdfgen import canvas
from reportlab.lib.units import inch

c = canvas.Canvas("hello.pdf")

# move the origin up and to the left, draw square
c.translate(inch,9*inch)
# How do I make this rectangle link to google.com?
c.rect(inch,inch,1*inch,1*inch, fill=1)

c.showPage()
c.save()
4

2 回答 2

13

linkURL在画布上调用:

c.linkURL('http://google.com', (inch, inch, 2*inch, 2*inch), relative=1)

矩形是可点击区域,因此您必须将其与绘制的矩形相匹配。参数是两个坐标,x, y左下角和右上角的两个坐标。

在这篇博文中查看更多示例:http: //www.hoboes.com/Mimsy/hacks/adding-links-to-pdf/

于 2012-05-21T16:35:58.240 回答
0

为了补充Martijn 的答案,linkURL 使用“默认”坐标系绘制一个矩形,即bottom+up/left+right。由于默认画布使用自上而下坐标,我建议您根据画布高度进行快速修复。

于 2020-07-26T14:35:19.163 回答