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;
    }
相关推荐
高野44011 分钟前
【高性能内存池】central cache内存回收 7
开发语言·c++
qq_5443291712 分钟前
从0学习React(1)
开发语言·前端·javascript
大灰狼191316 分钟前
【怎样基于Okhttp3来实现各种各样的远程调用,表单、JSON、文件、文件流等待】
java·springboot·网络流·okhttp3·文件流传输
shiji-lu16 分钟前
针对考研的C语言学习(定制化快速掌握重点2)
c语言·开发语言·学习
linlinlove223 分钟前
php如何实现局部替换功能
开发语言·php
敲代码的鹏鹏35 分钟前
C++(string字符串、函数)
开发语言·数据结构·c++
火红的小辣椒1 小时前
PHP反序列化5(回调函数call_user_func_array)
android·开发语言·php
技术无疆1 小时前
【Python】Daphne:Django 异步服务的桥梁
开发语言·人工智能·后端·python·机器学习·数据挖掘·django
地球空间-技术小鱼1 小时前
PHP语言发展历程
开发语言·php
当归10242 小时前
在java后端发送HTTPClient请求
java·开发语言