我正在使用iTextSharp将数据填充到PDF模板,这是在OpenOffice中创建的。它填充得很好,我得到了正确的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
请帮忙。
感谢。
答案 0 :(得分:2)
我无法重现这个问题。我做了这个POC:ChangeFieldSize
在此示例中,我采用包含三个字段的表单,其中包括"Name"
和"Company"
字段。我首先更改"Name"
字段的大小,与更改字段的方式相同。然后我填写"Name"
字段和"Company"
字段。请注意,执行这些操作的顺序很重要。也许你是反过来做的。
结果如this:
正如您所看到的,文本不会像屏幕截图那样被截断。
所以你可以尝试两件事:
如果这没有帮助,请发布SSCCE。