gpt4 book ai didi

java - 如何在带有 iText 的多行 AcroFields 中使用制表符?

转载 作者:行者123 更新时间:2023-12-01 09:58:17 25 4
gpt4 key购买 nike

我正在处理的项目有一个 PDF 文件,用作生成另一个最终 PDF 的模板。

该模板有几个表单字段。为了呈现最终文档,我使用 iText 打开模板,找到所有表单字段并填写所需的数据。

现在有一个要求,要求我在 1 个多行 acrofield 内呈现类似表格的布局。

我需要填写该字段的文本如下:

Monday\tFrom 10:00\tUntil 12:00
Tuesday\tFrom 20:00\tUntil 22:00

我之前在字段中使用过\n 来换行,这似乎有效。但是,不会显示选项卡。有什么方法可以在多行字段中使用制表符吗?

我尝试过使用 html 实体/unicode 表示,但这似乎也不起作用。

最佳答案

在此上下文中,制表符命令是对某种 anchor 的横向移动(例如跳转到先前定义的点,例如下一个字段、下一列等) ,并且在单个字段内,您实际上没有任何目标可以跳转。

如果您能够将文本空间重新定义为三列,没有装订线、没有垂直规则或任何其他视觉提示,那么您就可以自由地将类似表格的布局作为 一个表,您的制表符可以按预期工作,并且您将拥有能够在列中正确包装长条目的备份保险,而不是可能让它们错误地进入下一列并覆盖那里的内容。

如果您绑定(bind)到当前配置,另一个对您有用的建议是使用等宽字体,以便所有字符都是固定宽度(例如 Courier),图找出这些字符中每个模拟列的最大宽度,计算当前列中放置的字符数,然后发出正确的空格数以使您从该位置转到下一列。

例如,如果该字段中的模拟列每列都是 15 个字符宽,那么“星期一”将占用 6 个字符,之后您使用 9 个空格跳到下一列,放置“From 10:00” ” 在那里,再发出 5 个空格,然后在此处删除“直到 12:00”,然后您就完成了该行。下一个将在其下方整齐地对齐,依此类推。

关于java - 如何在带有 iText 的多行 AcroFields 中使用制表符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37021098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com