itext:不推荐使用具有String类型值的Property:FONT属性

时间:2019-02-13 22:22:08

标签: itext itext7

您能否指出我在看到警告的CSS时出错了:不推荐使用String类型值的“ Property.FONT”属性,而是使用String []作为属性值类型?

#insProv {
    margin-left: 35px;
    margin-top: 18px;
    font-family: "Times New Roman",Times,Serif;
    font-size: 13px;
}

#generalInfo {
    width: 260px;
    font-family: "Times New Roman",Times,Serif;
    margin-left: 475px;
}

#generalInfo td {
    font-family: "Times New Roman",Times,Serif;
    font-size: 13px;
    padding-left: 3px;
}

#generalInfoTitles {
    font-size: 12px;
    font-weight: bold;
}

#headerInfo {
    margin-left: 30px;
    width: 465px;
    font-family: "Times New Roman",Times,Serif;
}

#headerInfo td {
    padding: 2px 2px;
    font-family: "Times New Roman",Times,Serif;
    font-size:14px;
}

1 个答案:

答案 0 :(得分:1)

iText曾经有setFont(String)方法,但尚不清楚其参数所期望的是:字体名称还是字体系列。现在不建议使用该方法,建议您设置一个代表字体系列(ElementPropertyContainer#setFontFamily)的字符串列表。

收到消息很奇怪,因为pdfHTML将字体家族包装在String[]中:

        List<String> fontFamilies = FontFamilySplitter.splitFontFamily(cssProps.get(CssConstants.FONT_FAMILY));
        element.setProperty(Property.FONT, fontFamilies.toArray(new String[fontFamilies.size()]));

尽管如此,请不要担心。 iText会记录一条消息,但会包裹字体(以防String中的String[]换行),因此一切正常。