207 Star 1.3K Fork 507

GVPofdrw / ofdrw

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 2.65 KB
一键复制 编辑 原始数据 按行查看 历史
Cliven 提交于 2024-04-16 19:29 . 2.2.12

OFD Reader & Writer 文档操作工具

注意:文档操作将会导致文档结构内容变更,这将导致数字签名无效,请悉知!

引入依赖

<dependency>
    <groupId>org.ofdrw</groupId>
    <artifactId>ofdrw-tool</artifactId>
    <version>2.2.12</version>
</dependency>
  • 若您没有采用Maven管理项目,请参阅项目中pom.xml文件中的依赖,手动解决三方依赖包问题。

页编辑

OFDMerger 提供了页面级别的多文档编辑功能,包括:

  • 多文档合并
  • 文档页裁剪
  • 多文档页重组

多文档合并

以常见用的多文档合并举例,调用流程如下:

  1. 提供合并文件输出位置。
  2. 提供待合并文件。
  3. 创建合并对象OFDMerger
  4. 添加合并文档和页面(支持添加多个文档)。
  5. 关闭合并对象,生成文档。
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;

public class HelloMerge {
    public static void main(String[] args) throws IOException {
        // 1. 提供合并文件输出位置。
        Path dst = Paths.get("dst.ofd");
        // 2. 提供待合并文件。
        Path d1Path = Paths.get("file1.ofd");
        Path d2Path = Paths.get("file2.ofd");
        Path d3Path = Paths.get("file3.ofd");
        // 3. 创建合并对象
        try (OFDMerger ofdMerger = new OFDMerger(dst)) {
            // 4. 添加合并文档和页面。
            ofdMerger.add(d1Path);
            ofdMerger.add(d2Path);
        }
        // 5. 关闭合并对象,生成文档 (try() 语法自动关闭)
    }
}

为了更加灵活的合并文档,OFDMerger#add方法支持可选参数,指定需要合并的页面页码(从1开始),通过灵活使用该API可以实现多文档页面级别编辑功能。

裁剪

截取文档的部分页面生成新的文档。

public class Hello {
    public static void main(String[] args) {
        Path dst = Paths.get("dst.ofd");
        Path d1Path = Paths.get("file1.ofd");
        try (OFDMerger ofdMerger = new OFDMerger(dst)) {
            ofdMerger.add(d1Path, 1, 2);
        }
    }
}

多文档页重组

将多个文档中的页面合并到同一份文档中,并可以可用页面在新文档中的顺序。

public class Hello {
    public static void main(String[] args) {
        Path dst = Paths.get("dst.ofd");
        Path d1Path = Paths.get("file1.ofd");
        Path d2Path = Paths.get("file2.ofd");
        try (OFDMerger ofdMerger = new OFDMerger(dst)) {
            ofdMerger.add(d1Path, 1, 2);
            ofdMerger.add(d2Path, 1);
            ofdMerger.add(d1Path, 3);
        }
    }
}
Java
1
https://gitee.com/ofdrw/ofdrw.git
git@gitee.com:ofdrw/ofdrw.git
ofdrw
ofdrw
ofdrw
master

搜索帮助