首页 > 解决方案 > 如何在 Reportlab 中创建多行文本字段?

问题描述

我正在使用 Reportlab 生成带有交互式文本字段的 PDF。但是,我想为用户提供在此文本字段中编写多行的可能性,但我找不到这样做的方法。假设我有以下代码:

from reportlab.pdfgen import canvas


def add_textfield(c):
    c.acroForm.textfield('test', maxlen=1000, x=50, y=500, width=500, height=300)


c = canvas.Canvas("story.pdf")
add_textfield(c)
c.showPage()
c.save()

有没有办法创建一个可以在其中写入多行的文本字段?

标签: pythonpdfreportlab

解决方案


reportlab.pdfbase.pdfformhastextFieldAbsolutetextFieldRelative具有multiline参数的函数

from reportlab.pdfgen import canvas
from reportlab.pdfbase import pdfform

canvas = canvas.Canvas("story.pdf")

pdfform.textFieldAbsolute(canvas, 'test', maxlen=1000, x=50, y=500, width=500, height=300, multiline=1)

canvas.showPage()
canvas.save()

推荐阅读