Acrofield 的 iText 对齐 [C#]

iText alignment of Acrofield [C#]

我得到了一个包含一些 Acrofields 的 PDF 文件。 我希望一个文本字段的文本居中。

我试过:

var centeredField = stamper.AcroFields.GetFieldItem(fieldname);
centeredField.GetMerged(0).Put(PdfName.Q, new PdfNumber(PdfFormField.Q_CENTER));

这适用于之后在代码中设置的文本(使用 SetField)。 但是一旦我打开 PDF 并编辑字段的文本,它就会再次左对齐...

知道我的代码哪里有问题吗?

经过一番阅读和尝试,我终于找到了一个可行的解决方案:

var centeredField = stamper.AcroFields.GetFieldItem(fieldname);
centeredField.GetWidget(0).Put(PdfName.Q, new PdfNumber(PdfFormField.Q_CENTER));

区别在于 "GetWidget" 而不是 GetMerged。