我正在使用iTextSharp遍历AcroFields
集合中的字段,因此可以在注释上设置各种属性。我已经研究出如何为每个注释字段提取大多数属性,但希望能够将单个注释转换为正确的字段对象(即TextField
,PushButtonField
,RadioCheckField
等) )。
除了创建一个新的TextField
,阅读然后设置与之关联的所有设置/属性之外,还有一种简洁的方法可以达到:
int index = 0;
AcroFields acroFields = stamper.AcroFields;
TextField tf = acroFields.GetTextField(acroField.Key.ToString(), index);
我使用的是iTextSharp(4.0.6.0)的旧版本。我无法升级到最新版本,因为4到5之间有重大更改。
附加信息:
我的PDF文件具有多个重复字段(例如,两个页面都有客户名称),因此仅使用键名来设置属性可能会产生意想不到的副作用。一个字段可能被对齐,而另一个字段居中。
最佳答案
不幸的是,不行,TextField
,PushButtonField
和其他都不是iText创建文档抽象的一部分,并且没有内置的方法可以将AcroFields.Item
对象恢复为其中之一。