Joy1792 / ofdrw

OFD Reader & Writer 开源的OFD处理库,支持文档生成、数字签名、文档保护、文档合并、转换等功能,文档格式遵循《GB/T 33190-2016 电子文件存储与交换格式版式文档》。

Home Page:https://github.com/ofdrw/ofdrw

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OFD Reader & Writer

- Maven Central license

在使用OFDRW前,请务必悉知 《OFD Reader & Writer免责声明》

若clone和文档预览存在困难,请移步 https://gitee.com/ofdrw/ofdrw

Talk is cheap,Show me the code. ——Linus Torvalds

OFD Reader & Writer 开源的OFD处理库,支持文档生成、数字签名、文档保护、文档合并、转换等功能。

本项目采用Apache 2.0许可,请尊重开源项目作者,在软件中附带OFDRW开源软件许可。

根据《GB/T 33190-2016 电子文件存储与交换格式版式文档》标准实现版式文档OFD库(含有书签)。

项目采用模块管理,各模块如下:

注:

  • 您可以根据需求裁剪模块优化程序体积。
  • 您可以仅引用ofdrw-core中定义的数据结来构建属于您自己的OFD库。

QuickStart

引入依赖

<dependency>
  <groupId>org.ofdrw</groupId>
  <artifactId>ofdrw-full</artifactId>
  <version>1.20.1</version>
</dependency>

OFDRW 将持续保证API的向下兼容,您可以放心的升级OFDRW库至最新版本。

如何生成一份OFD文档,如何把大象放入冰箱?

public class HelloWorld {
    public static void main(String[] args) throws IOException {
        Path path = Paths.get("HelloWorld.ofd");
        try (OFDDoc ofdDoc = new OFDDoc(path)) {
            Paragraph p = new Paragraph("你好呀,OFD Reader&Writer!");
            ofdDoc.add(p);
        }
        System.out.println("生成文档位置: " + path.toAbsolutePath());
    }
}

效果如下:

示例

相关文档目录:

OFD阅读器客户端: 数科阅读器 . http://www.suwell.cn/

社区解决方案

HTML5

HTML5前端预览解决方案: DLTech21/ofd.js . https://github.com/DLTech21/ofd.js

  • jszip解压。
  • fast-xml-parser解析xml为json数据。
  • svgcanvas渲染实现。
  • 完全浏览器OFD页面渲染。

开源客户端

推荐开源客户端预览解决方案: roy19831015/OfdiumEx . https://github.com/roy19831015/OfdiumEx

  • 基于cairo库渲染OFD。
  • Windows客户端

OFD R&W Android

OFD Reader and Writer 安卓平台解决方案: DLTech21/ofdrw-aar . https://github.com/DLTech21/ofdrw-aar

图片转换

目前已经被合并到ofdrw-converter 模块

推荐开源OFD图片转换解决方案: QAQtutu/ofdbox . https://github.com/QAQtutu/ofdbox

  • 支持OFD解析。
  • 基于java.awt解析OFD实现图片绘制。

源码安装

支持 JDK 1.8 及以上版本构建。

在项目根目录下运行:

mvn install

就可以完成项目的构建打包,安装到本地Maven仓库中。

社区交流

Share and Communicate

为方便社区建设与交流,提供社区QQ群:
  • 04群号: 690642037 (新)
  • 03群号: 717320255 (满)
  • 02群号: 745517934 (满)
  • 01群号: 577682453 (满)

  • 若您遇到与OFD相关的技术问题,欢迎进群交流!
  • 若您对项目有建设性意见或方案欢迎提交IssuePR

参与贡献

参与贡献代码尽量遵守下面代码规约:

  1. 原则上禁止public方法、类、接口进行删除:为了保留向下兼容性,如果是更新升级请标注过去已经暴露方法、接口、类为过时标记@Deprecated,并注释置新的实现位置@deprecated {@link SomethingNew}
  2. 请为每个public方法、类、接口添加注释:为了保留开发者的便利性,注释一般为多行注释,注释内容需要包含参数以及方法或类的作用、参数意义、返还值以及意义、异常抛出、以及参数意义。

>> GitHub 第一次参与开源(多语言)

项目情况

进展

>> 项目进展

项目关注度

项目获得 Star曲线

Stargazers over time

About

OFD Reader & Writer 开源的OFD处理库,支持文档生成、数字签名、文档保护、文档合并、转换等功能,文档格式遵循《GB/T 33190-2016 电子文件存储与交换格式版式文档》。

https://github.com/ofdrw/ofdrw

License:Apache License 2.0


Languages

Language:Java 88.0%Language:HTML 12.0%