如何使Reportlab PDF交互?

2024-06-12 12:19:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经为这个问题挣扎了一段时间了。文档非常糟糕,似乎没有任何例子。在

这里的代码运行得非常好。在

path = "C:/Users/YourName/Desktop/"
from reportlab.pdfgen.canvas import Canvas as can

def greet(c):
    c.drawString(220, 700, "Reporting")
c = can(path + "first.pdf")
greet(c)
c.showPage()
c.save()

我想生成一个PDF,它有一个交互式复选框,或者一个单选按钮,等等。 我尝试使用下面的代码,但是一直得到一个AttributeError。在

^{pr2}$

我一直得到一个AttributeError: property object has no attribute _doc

如果我从checkbox方法中删除rep.pdfbase.acroform.AcroForm,我会得到一个错误消息,说缺少1个位置参数是必需的。用于“self”参数。在

任何帮助都将不胜感激。在


Tags: pathfrom文档参数canusers例子canvas
1条回答
网友
1楼 · 发布于 2024-06-12 12:19:56

在ReportLab中,acroFormcanvas实例的属性(文档或代码中的大小写错误)。因此,您需要像这样调用相关的方法:

c = canvas.Canvas("example.pdf")
c.acroForm.checkbox()

您可能会遇到一些与PDF阅读器的兼容性问题。它与adobeacrobatreader一起工作得很好,但是它在其他一些阅读器中无法正常工作或者呈现不正确。在

以下是您给出的示例的完整工作版本:

^{pr2}$

相关问题 更多 >