You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用borb创建支持多行输入的PDF TextField表单?

使用borb创建支持多行输入并预填充内容的PDF表单

要实现支持多行输入且能预填充多行内容的TextField,borb其实提供了对应的API,只是官方文档示例较少,以下是具体实现方案:

核心步骤

  • 启用多行模式:给TextField调用set_multiline(True)方法,开启多行输入支持
  • 预填充多行内容:直接通过set_value()传入包含\n的字符串,PDF会自动解析换行

完整代码示例

from borb.pdf import Document, Page, PDF, TextField
from borb.pdf import SingleColumnLayout, FixedColumnWidthTable, Paragraph
from borb.pdf.canvas.color.color import HexColor

# 初始化PDF文档和页面
doc = Document()
page = Page()
doc.add_page(page)

# 设置页面布局
layout = SingleColumnLayout(page)
layout.add(Paragraph("多行文本输入表单", font_size=18, font_color=HexColor("#2c3e50")))

# 创建多行TextField并配置属性
multiline_field = TextField(
    field_name="multiline_content",
    width=500,
    height=160,
    font_size=12
)
# 开启多行输入
multiline_field.set_multiline(True)
# 预填充多行字符串
multiline_field.set_value("第一行预填充内容\n第二行自定义文本\n第三行可以包含换行符和特殊字符:\n\t- 列表项1\n\t- 列表项2")

# 将TextField添加到页面布局
table = FixedColumnWidthTable(number_of_columns=1, number_of_rows=2)
table.add(Paragraph("请输入多行内容:"))
table.add(multiline_field)
table.set_padding_on_all_cells(5, 5, 5, 5)
layout.add(table)

# 保存生成的PDF
with open("multiline_form.pdf", "wb") as out_file:
    PDF.dumps(out_file, doc)

关键说明

  • set_multiline(True):这是实现多行输入的核心配置,设置后TextField允许用户按下回车键换行输入,同时支持预填充内容中的\n换行
  • 输入框高度:需设置足够的height值,确保预填充的多行内容能完整显示;当内容超出输入框高度时,PDF阅读器会自动添加滚动条
  • 预填充格式:支持\n换行、\t制表符等常见格式符号,生成的PDF会正确解析这些格式

内容的提问来源于stack exchange,提问作者Björn Johansson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 22:20:06