gpt4 book ai didi

java - 增加 AcroFields(iTextSharp) 的宽度

转载 作者:行者123 更新时间:2023-11-30 09:06:33 24 4
gpt4 key购买 nike

我正在使用 iTextSharp 将数据填充到在 OpenOffice 中创建的 PDF 模板。它填充良好,我得到了正确的 PDF,但有些地方我想增加 AcroField 的宽度。

我做了下面的代码。它正在增加宽度,但不显示文本。

AcroFields.Item fldItem = fields.getFieldItem(fieldName);
for (int i =0; i < fldItem.size(); ++i) {
PdfDictionary widgetDict = fldItem.getWidget(0);
PdfArray rectArr = widgetDict.getAsArray(PdfName.RECT);
float origX = rectArr.getAsNumber(0).floatValue();
rectArr.set( 2, new PdfNumber( origX + 12 + 60 ) );
}

在下图中突出显示了一个。实际字符串是 10000 SUPERIOROPTICAL 123 4567 89 enter image description here

请帮忙。
谢谢。

最佳答案

我无法重现问题。我做了这个 POC:ChangeFieldSize

在这个例子中,我采用了一个包含三个字段的表单,其中一个是 "Name" 和一个 "Company" 字段。我首先更改“名称” 字段的大小,方法与您更改字段的方式相同。然后我填写了 "Name" 字段和 "Company" 字段。请注意,我执行这些操作的顺序很重要。也许您正在做相反的事情。

结果看起来像this : enter image description here

如您所见,文本并没有像屏幕截图中那样被截断。

所以有两件事你可以尝试:

  • 更改更改字段矩形和填写字段的顺序。
  • 升级到最新版本的 iTextSharp。

如果这没有帮助,请发布 SSCCE .

关于java - 增加 AcroFields(iTextSharp) 的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24404413/

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