ITEXT-PDF彩色字体显示-支持中文

x33g5p2x  于2021-12-28 转载在 其他  
字(0.7k)|赞(0)|评价(0)|浏览(173)

问题场景

利用itext自动生成PDF的过程中,一般情况下字体颜色都是黑色的,但是遇到一些小错误需要报出在PDF上,用彩色字体能达到效果。

代码

需导入的jar包:itext-pdfa-5.5.6.jar、itext-xtra-5.5.6.jar、itext-5.5.6.jar、itext-asian.jar

/** * 用彩色字体加入警告 * @param document * @param warn 警告内容 * @throws DocumentException */
    private static void addWarning(Document document, String warn) throws DocumentException {

        FontSelector selector = new FontSelector();
        //非汉字字体颜色
        Font f1 = FontFactory.getFont(FontFactory.TIMES_ROMAN, 12);
        f1.setColor(BaseColor.RED);
        //汉字字体颜色
        Font f2 = FontFactory.getFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
        f2.setColor(BaseColor.RED);

        selector.addFont(f1);
        selector.addFont(f2);
        Phrase ph = selector.process(warn);

        Paragraph p = new Paragraph(ph);
        p.setAlignment(1);

        document.add(p);
    }

效果

相关文章