What is the simplest way to add a hyperlink to a canvas element in ReportLab?

做~自己de王妃 提交于 2019-12-07 05:25:30

问题


I am using ReportLab to make a pdf using Python. I want to add a shape to the canvas, and have that shape act as a hyperlink. What is the simplest way to make the rectangle in the following example link to 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()

回答1:


Call linkURL on the Canvas:

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

The rectangle is the clickable area, so you'd have to match that to the drawn rectangle. The arguments are two coordinates, twice x, y for the bottom-left and top-right corner.

See more examples in this blog post: http://www.hoboes.com/Mimsy/hacks/adding-links-to-pdf/



来源:https://stackoverflow.com/questions/10688923/what-is-the-simplest-way-to-add-a-hyperlink-to-a-canvas-element-in-reportlab

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!