aspose操作文档

2023-10-31

操作aspose版本

aspose-words-21.4

官网下载地址

https://releases.aspose.com/words/java/

问题

1,每次操作文档的时候都要重新保存,不然文件损坏,打开的文件就是乱码的

记录一些简单的功能设置:

Document doc = new Document();
        //设置表格超过页面边距,看不到数据,为兼容模式
        doc.getCompatibilityOptions().optimizeFor(MsWordVersion.WORD_2019);
        DocumentBuilder builder = new DocumentBuilder(doc);
        builder.insertHtml(readHTML("D:\\1.html", StandardCharsets.UTF_8));
        //获取所有的段落
        for (Section section : doc.getSections()) {
            Body body = section.getBody();
            for (Paragraph paragraph : body.getParagraphs()) {
                double firstLineIndent = paragraph.getParagraphFormat().getFirstLineIndent();
                if (!paragraph.getParagraphFormat().isHeading() && firstLineIndent > 0.0) {
                    //设置首行 为2字符
                    paragraph.getParagraphFormat().setCharacterUnitFirstLineIndent(2);
                }
            }
        }
        //获取所有图片
        NodeCollection<Shape> shapes = (NodeCollection<Shape>) doc.getChildNodes(NodeType.SHAPE, true);
        for (Shape shape : shapes)
        {
            if (shape.hasImage())
            {
                Paragraph paragraph = (Paragraph)shape.getAncestor(NodeType.PARAGRAPH);
                if (paragraph != null)
                {
                    //设置无首行缩进
                    paragraph.getParagraphFormat().setFirstLineIndent(0);
                }
            }
        }

        doc.save("D:\\钻井地质设计2.doc",SaveOptions.createSaveOptions(SaveFormat.DOC));
    
        public static String readHTML(String path, Charset utf8) throws Exception {
    StringBuilder sb = new StringBuilder();
    File file = new File(path);
    BufferedReader br = new BufferedReader(new FileReader(file));
    String line;
    while ((line = br.readLine()) != null) {
        sb.append(line);
    }
    br.close();
    return sb.toString();
}

取消表单重复标题代码

Document doc = new Document("cs2.doc");

for (Table t : (Iterable<Table>)doc.getChildNodes(NodeType.TABLE, true)) {
    for (Row r : t.getRows()) {
        r.getRowFormat().setHeadingFormat(false);
    }
}

doc.save("out.doc");

设目录字体,行距为固定值20

  
            ParagraphCollection firstParagraph = doc.getSections().get(1).getBody().getParagraphs();
            for (Paragraph param:firstParagraph){
                for (Run r :param.getRuns()){
                    if (!r.getText().contains("目录")){
                        r.getParentParagraph().getParagraphFormat().setLineSpacingRule( LineSpacingRule.EXACTLY);
                        r.getParentParagraph().getParagraphFormat().setLineSpacing( 20);
                        r.getFont().setName("宋体");
                    }
                }
            }
        
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

aspose操作文档 的相关文章

随机推荐

  • 浏览器网页截屏妙用Capture node screenshot

    1 常用场景和工具 通常我们在PC端截屏时可能会用到一些截屏工具 比如微信截图 键盘Print Screen键屏幕截屏 360浏览器截屏 但是有时候网页页面尺寸很大 或者截屏像素要求很高应该怎么搞处理呢 2 Capture node scr
  • 路径之谜 (蓝桥杯)

    文章目录 路径之谜 思路 AC代码 路径之谜 描述 题目描述 小明冒充 X 星球的骑士 进入了一个奇怪的城堡 城堡里边什么都没有 只有方形石头铺成的地面 假设城堡地面是 n n 个方格 如下图所示 按习俗 骑士要从西北角走到东南角 可以横向
  • e签宝,「进化」在2023

    精准布局生态化 统一化 智能化 信创化 辅以具体产品落地 加速产业 行业 企业 业务 四业 互通互联 提高产业数字化渗透率 电子签 群战 时代 e签宝再次进化 作者 斗斗 出品 产业家 印章在谁手上 印章负责人离职后 是否了解交接流程 印章
  • SpringBoot实践-导入jar包中的配置文件

    事件起因 开发的项目需要依赖一个本地jar包 无法通过maven直接下载 而这个jar包中含有配置文件 在配置文件中定义了spring的bean 而我的项目需要用到这个bean 开发工具 IDEA JDK版本 1 7 使用框架 Spring
  • 在各种开发项目中使用公用类库的扩展方法,通过上下文方式快速调用处理函数

    Python微信订餐小程序课程视频 https edu csdn net course detail 36074 Python实战量化交易理财系统 https edu csdn net course detail 35475 不管我们开发是
  • 搭建一个vue2项目

    一 安装node环境 1 下载地址为 https nodejs org en 2 检查是否安装成功 如果输出版本号 说明我们安装node环境成功 3 为了提高我们的效率 可以使用淘宝的镜像 http npm taobao org 输入 np
  • JeeSite 4.0 功能权限管理基础(Shiro)

    2019独角兽企业重金招聘Python工程师标准 gt gt gt Shiro是Apache的一个开源框架 是一个权限管理的框架 实现用户认证 用户授权等 只要有用户参与一般都要有权限管理 权限管理实现对用户访问系统的控制 按照安全规则或者
  • JSer做的模式悬浮窗体与Jquery做的分页

    今天在做web开发 上网搜索资料时 无意间发现了JSer 现简单介绍一下JSer JSer是一款类似于jQuery的开源脚本框架 使用JSer 将极大的简化您的javascript开发 使程序代码更加简洁和高效 使用JSer 您几乎无需再考
  • 这本Python入门畅销书《“笨办法”学python 3》,不仅仅是一本书

    此前 小编分享过一篇文章 跟着数百万人编程导师学C语言 介绍的是泽德 A 肖大神的新书 笨办法 学C语言 很多用户在后台留言 笨办法 学Python 3 什么时候出版 今天这本书终于在六月初与大家见面啦 与作者其他的图书风格一样 笨办法 学
  • centos7.9单机版安装oracle19c与rockylinux安装单机版21c

    oracle19C安装 Database Software Downloads Oraclehttps www oracle com database technologies oracle database software downlo
  • JAVA面试知识整理

    1 我们是根据什么创建一个表 数据库范式 2 数据库范式 第一范式 数据表的原子性 创建表的字段的时候 每个字段列不可再分出更多的字段 第二范式 在第一范式基础上 表需要一个唯一的字段为主键 通过主键可以快速的找到每一条数据 第三范式 在第
  • jupyter中使用matplotlib

    小试牛刀 matplotlib可能是Python 2D绘图领域使用最广泛的库了 它能够让使用者轻松地将数据图形化 并且提供多样化的输出格式 同时 它几乎能够对图进行所有你能够想到的细节的修饰 我们先来看看一个小例子 In 1 matplot
  • 【01】-迟来的毕设进度记录-【场景搭建、photon实时实现联机(二)】

    嗨我又回来了 今天的任务是 场景KO掉啦 大概基础就这样 植被细节接着弄 重大突破 在动画方面进行了修改 如下图 思路是 玩家按下鼠标左键直接攻击播放攻击动画 不需要bool繁琐的判断 代码也简化 而且之前有BUG 就是玩家按着鼠标左键时
  • SQL ORDER BY 关键字

    ORDER BY 关键字用于对结果集进行排序 SQL ORDER BY 关键字 ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序 ORDER BY 关键字默认按照升序对记录进行排序 如果需要按照降序对记录进行排序 您可以使用
  • 《Ordinal Depth Supervision for 3D Human Pose Estimation》-CVPR2018 论文阅读

    简介 Ordinal Depth Supervision for 3D Human Pose Estimation 是一篇CVPR2018 Oral Presentation的工作 主要解决RGB的3D human pose estimat
  • 虚拟机中安装win7报错【解决方案】

    问题 You have configured this virtual machine to use a 64 bit guest operating system However 64 bit operation is not possi
  • 图像数据集整理汇总(包含ImageNet、旷视、VOC、COCO等等)

    链接 https pan baidu com s 1t8mQQzXJvxSA8GcCXbNIhA 提取码 pys8 ImageNet https image net org download php 旷视CrowdHuamn数据集 http
  • Kafka3.0.0版本——增加副本因子

    目录 一 服务器信息 二 启动zookeeper和kafka集群 2 1 先启动zookeeper集群 2 2 再启动kafka集群 三 增加副本因子 3 1 增加副本因子的概述 3 2 增加副本因子的示例 3 2 1 创建topic 主题
  • 计算机网络 谢希仁 课后习题部分答案

    试说明IP地址与硬件地址的区别 为什么要使用这两种不同的地址 解 IP地址放在IP数据报的首部 硬件地址则放MAC帧的首部 在网络层和网络层以上使用IP地址 数据链路层及以下使用硬件地址 IP 地址就是给每个连接在因特网上的主机 或路由器
  • aspose操作文档

    操作aspose版本 aspose words 21 4 官网下载地址 https releases aspose com words java 问题 1 每次操作文档的时候都要重新保存 不然文件损坏 打开的文件就是乱码的 记录一些简单的功