pdfbox嵌入字体在填写表单时不起作用

d8tt03nd  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(233)

我用field.setvalue填充表单。然而,即使pdf文档中嵌入了字体,我也得到了一个错误“在这种字体的编码中不可用:winansiencoding”,不管它是哪种类型的字体。请注意,这是发生在中国或俄罗斯字符。

wgeznvg7

wgeznvg71#

您的pdf文档可能嵌入了字体,但它们显然已经嵌入了一个编码值winansiencoding。
winansienceoding基本上包含拉丁-15字符,因此它适用于“西欧”语言(请参阅wikipedia的相关文章),特别是既不适用于西里尔语,也不适用于cjk语言。
因此,如果要使用pdfbox将中文或俄文字符填充到表单字段中,则必须
或者预先使用适当的编码将字体嵌入到pdf中
或者在设置表单字段值之前用pdfbox替换嵌入的字体,参见下面的答案示例。

相关问题