word复选框字体

WordUtil.appendText(paragraph, "\uF052", "Wingdings 2",null);//已选中
WordUtil.appendText(paragraph, "□", null);//未选择

或者

WordUtil.appendText(paragraph, "☑", null,null);
WordUtil.appendText(paragraph, "□", null);

或者

WordUtil.appendText(paragraph, "\u0052", "Wingdings 2",null);//已选中
WordUtil.appendText(paragraph, "□", null);//未选择

pdf字体

poi的fr.opensagres.poi.xwpf.converter.pdf-gae转的pdf

WordUtil.appendText(paragraph, "\uF052", "Wingdings 2",null);//已选中
WordUtil.appendText(paragraph, "□", null);//未选择

aspose-words的pdf

WordUtil.appendText(paragraph, "\u0052", "Wingdings 2",null);//已选中
WordUtil.appendText(paragraph, "□", null);//未选择

工具方法


    /**
     * 在一行中追加文本
     *
     * @param text
     * @param fontName
     * @param paragraph
     */
    public static XWPFRun appendText(XWPFParagraph paragraph, String text, String fontName, Integer position) {
        XWPFRun run = paragraph.createRun();
        CTRPr ctrPr = run.getCTR().addNewRPr();
        CTFonts font = ctrPr.addNewRFonts();
        // ASCII 第一优先级(这个能匹配直接用这个,不行用下面的字体)
        if (StringUtils.isNotBlank(fontName)) {
            font.setAscii(fontName); //上一种方法setFontFamily() 其实只调用了这个方法
            //中文
            font.setEastAsia(fontName);

            // 其他字符(有想法可以自己去研究一下是什么字符的):
            font.setCs(fontName);
            //最低优先级
            font.setHAnsi(fontName);
        } else {
            font.setAscii("宋体"); //上一种方法setFontFamily() 其实只调用了这个方法
            //中文
            font.setEastAsia("宋体");

            // 其他字符(有想法可以自己去研究一下是什么字符的):
            font.setCs("宋体");
            //最低优先级
            font.setHAnsi("宋体");

        }

        if (position != null) {
            ctrPr.addNewPosition().setVal(BigInteger.valueOf(position));
        }
        run.setText(text);

        return run;
    }

更多推荐