我正在使用iTextSharp遍历AcroFields集合中的字段,因此可以在注释上设置各种属性。我已经研究出如何为每个注释字段提取大多数属性,但希望能够将单个注释转换为正确的字段对象(即TextFieldPushButtonFieldRadioCheckField等) )。

除了创建一个新的TextField,阅读然后设置与之关联的所有设置/属性之外,还有一种简洁的方法可以达到:

int index = 0;
AcroFields acroFields = stamper.AcroFields;
TextField tf = acroFields.GetTextField(acroField.Key.ToString(), index);


我使用的是iTextSharp(4.0.6.0)的旧版本。我无法升级到最新版本,因为4到5之间有重大更改。

附加信息:
我的PDF文件具有多个重复字段(例如,两个页面都有客户名称),因此仅使用键名来设置属性可能会产生意想不到的副作用。一个字段可能被对齐,而另一个字段居中。

最佳答案

不幸的是,不行,TextFieldPushButtonField和其他都不是iText创建文档抽象的一部分,并且没有内置的方法可以将AcroFields.Item对象恢复为其中之一。

10-02 10:19