java给word设置复选框

poi设置

使用"Wingdings 2" 字体

java 复制代码
WordUtil.appendText(paragraph, "\uF052", "Wingdings 2",null);
WordUtil.appendText(paragraph, "□", null);

选中的复选框:

  • poi导出pdf的时候正常
  • 使用aspose-words导出pdf就空了

使用默认字体

java 复制代码
WordUtil.appendText(paragraph, "☑", null,null);
WordUtil.appendText(paragraph, "□", null);

选中的复选框:

  • poi导出pdf的时候是空,
  • 使用aspose-words导出pdf正常

又是心态爆炸的一天o(╥﹏╥)o

工具方法

java 复制代码
    /**
     * 在一行中追加文本
     *
     * @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() 其实只调用了这个方法
        } else {
            font.setAscii("宋体");    //上一种方法setFontFamily() 其实只调用了这个方法

        }

        //中文
        font.setEastAsia("Arial");

// 其他字符(有想法可以自己去研究一下是什么字符的):
        font.setCs("宋体");
        //最低优先级
        font.setHAnsi("宋体");
        if (position != null) {
            ctrPr.addNewPosition().setVal(BigInteger.valueOf(position));
        }
        run.setText(text);

        return run;
    }
相关推荐
qq_479875436 分钟前
X-Macros(3)
java·开发语言
想不明白的过度思考者10 分钟前
Spring Web MVC从入门到实战
java·前端·spring·mvc
Andy10 分钟前
Docker 初识
java·docker·容器
SunnyDays101118 分钟前
Java 高效实现 PPT 转 PDF
java·ppt转pdf
IUGEI19 分钟前
【后端开发笔记】JVM底层原理-内存结构篇
java·jvm·笔记·后端
合作小小程序员小小店23 分钟前
网页开发,在线%宠物论坛管理%系统,基于eclipse,html,css,jquery,servlet,jsp,sql server数据库。
java·sqlserver·eclipse·jdk·html·intellij-idea
列逍23 分钟前
深入理解 C++ 异常:从概念到实战的全面解析
开发语言·c++
java1234_小锋28 分钟前
简述Mybatis的插件运行原理?
java·开发语言·mybatis
i***395836 分钟前
Springboot中SLF4J详解
java·spring boot·后端
charlie11451419143 分钟前
勇闯前后端Week2:后端基础——HTTP与REST
开发语言·网络·笔记·网络协议·学习·http