Pdf IText7如何解码字段';字体对象的默认外观及其属性
我有一个带有一些字段的Pdf IText7如何解码字段';字体对象的默认外观及其属性,pdf,itext7,Pdf,Itext7,我有一个带有一些字段的AcroForm,我需要获取其中一个字段的字体信息。我知道我必须使用 (PdfFormField)字段。getDefaultAppearance() 但这会导致类似字符串的结果 /Helv 12 Tf 0.25 0.25 0.25 rg` 有没有简单的方法将该字符串解析为PdfFont对象 很明显,我可以从给定的字符串手动解析它,但我怀疑IText有一些实用程序可以为我做到这一点,不是吗 此外,/Helv只是“参考”或类似的东西,显然指向Helvetica,但是如果我有
AcroForm
,我需要获取其中一个字段的字体信息。我知道我必须使用
(PdfFormField)字段。getDefaultAppearance()
但这会导致类似字符串的结果
/Helv 12 Tf 0.25 0.25 0.25 rg`
有没有简单的方法将该字符串解析为PdfFont
对象
很明显,我可以从给定的字符串手动解析它,但我怀疑IText有一些实用程序可以为我做到这一点,不是吗
此外,/Helv
只是“参考”或类似的东西,显然指向Helvetica
,但是如果我有一些自定义字体呢
谢谢 如果希望在formfield中使用字体,可以使用
PdfFormField#getFont()
方法,这将返回直接使用的PdfFont
对象。要设置自定义字体,请使用PdfFormField#setFont(PdfFont font)
,这也将重新创建表单字段的外观。使用PdfFormField#setFontSize(float fontsize)
设置字段内文本的大小。使用PdfFormField#setClor(..)
设置文本颜色
从getDefaultAppearance()获取的信息是以pdf语法编写的,可以按如下方式进行分析:
`/Helv 12 Tf 0.25 0.25 0.25 rg`
font-size-Tf
说明为后面的文本说明设置字体(子集)和大小。使用插入到pdf中的名称引用字体。在本例中为/Helv,可能会指向Helvetica的(子集)。它不一定是helvetica,但是,一些小丑可以插入漫画Sans并将其命名为/Helv。12是字体大小
x y z rg
方法使用RGB值设置字体的颜色,x、y和z的相对强度值在[0.0,1.0]的区间内。关于Helv等:通常相关字体资源字典中的字体名称映射到字体定义。不过,DefaultAppearance中的字体名称有时不是,请参阅使用/Helv、/HeBo、。。。在里面