我使用itext7
,我需要从pdfformfield中的acroform获取font color
。我在PdfFont
中找不到此属性。我该怎么办?
可以使用以下方式检索表单字段默认外观中的文本颜色:>
Color textColor = field.getColor();
对于
PdfFormField field
。
不过请注意:
iText 7仅提取使用运算符g
,rg和k之一设置的文本颜色,这些运算符是用于设置DeviceGray,DeviceRGB 和DeviceCMYK不描边的颜色。如果使用其他运算符选择颜色或根本没有颜色设置运算符,则将返回null
。我尚未使用其他颜色设置运算符观察到具有表单字段默认外观的PDF。因此,以我的经验,这种实现就足够了。
如果该字段是富文本字段,则默认样式字符串可能会覆盖默认外观中的所有内容,因此使用getColor()
检索的颜色可能不正确。
不过,在这种情况下,填写该字段的用户可以自由使用不同的颜色。因此,在这种情况下,无论如何尝试检索“字段的文本颜色”都是可疑的。
PDF中的PDF处理器或JavaScript代码可以忽略或覆盖默认外观颜色。因此,您永远无法确定这里返回的颜色实际上是用户最终将文本颜色识别为的颜色。