# ofdrw
**Repository Path**: manongdoudou/ofdrw
## Basic Information
- **Project Name**: ofdrw
- **Description**: OFD Reader&Writer 像写HTML和Word那样简单的编写OFD。《GB/T 33190-2016 电子文件存储与交换格式版式文档》实现的OFD版式文档,读写库。 https://github.com/Trisia/ofdrw
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 594
- **Created**: 2020-07-19
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# OFD Reader & Writer
 [](./LICENSE)
在使用OFDRW前请务必悉知 [***《OFD Reader & Writer免责声明》***](免责声明.md)。
> 如何clone和预览存在困难,请移步 [https://gitee.com/Trisia/ofdrw](https://gitee.com/Trisia/ofdrw)
**Talk is cheap,Show me the code. ——Linus Torvalds**
**像写HTML和Word那样简单的编写OFD。**
根据[《GB/T 33190-2016 电子文件存储与交换格式版式文档》](./GBT_33190-2016_电子文件存储与交换格式版式文档.pdf)标准实现版式文档OFD库(含有书签)。
项目结构:
- [**ofdrw-core**](./ofdrw-core) OFD核心API,参考[《GB/T 33190-2016 电子文件存储与交换格式版式文档》](./GBT_33190-2016_电子文件存储与交换格式版式文档.pdf)实现的基础。
- [**ofdrw-font**](./ofdrw-font) 生成OFD需要的常规字体(OpenType)。
- [**ofdrw-layout**](./ofdrw-layout) OFD布局引擎库,用于文档构建和渲染。
- [**ofdrw-pkg**](./ofdrw-pkg) OFD文件的容器,用于文档的打包。
- [**ofdrw-reader**](./ofdrw-reader) OFD文档解析器,用于OFD的反序列化以及签名签章。
- [**ofdrw-sign**](./ofdrw-sign) OFD文档数字签章。
- [**ofdrw-gm**](./ofdrw-gm) 用于支持签章模块需要的国密电子签章数据结构。
- [**ofdrw-gv**](./ofdrw-gv) OFDRW 所有模块所共用的全局变量。
- [**ofdrw-full**](./ofdrw-full) 上述所有模块整合包,用于简化依赖引入。
## QuickStart
引入依赖
```xml
commons-io
commons-io
2.6
org.ofdrw
ofdrw-full
1.5.2
```
如何生成一份OFD文档?
> 如何把大象放入冰箱。
```java
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());
}
}
```
效果如下:

- [生成示例](https://github.com/Trisia/ofdrw/blob/master/ofdrw-layout/src/test/java/org/ofdrw/layout/OFDDocTest.java)
- [布局示例](https://github.com/Trisia/ofdrw/blob/master/ofdrw-layout/src/test/java/org/ofdrw/layout/LayoutTest.java)
- [Canvas示例](https://github.com/Trisia/ofdrw/blob/master/ofdrw-layout/src/test/java/org/ofdrw/layout/element/canvas/DrawContextTest.java)
相关文档目录:
- [OFD R&W 布局设计](./ofdrw-layout/doc/README.md)
- [OFD R&W Canvas](./ofdrw-layout/doc/canvas/README.md)
- [OFD R&W 签名签章快速入门](./ofdrw-sign/doc/quickstart/README.md)
> > ***如果您对OFDRW合法签名签章以及验证有意向,我们可以为您提供相关商务咨询服务,请联系QQ: 1009020096 或邮箱 quanguanyu@qq.com。***
推荐的免费OFD阅读器: [福昕OFD版式办公套件 . http://www.htfoxit.com/Download/index/id/712](http://www.htfoxit.com/Download/index/id/712)
## 源码安装
在项目根目录下运行
```bash
mvn install
```
就可以完成项目的构建打包,安装到本地Maven仓库中。
## 交流
***Share and Communicate***
为了方便大家的交流提供QQ群

群号: **577682453**
## 参与贡献
参考 [贡献指南](CONTRIBUTING.md)。
## 项目情况
### 进展
[>> 项目进展](releasenotes.md)
如果各位对 OFD R&W 有 **问题** 或是 **建议** 欢迎提交issue和PullRequest,这样的大家的问题都可以很好的得到分享,我也很乐意解答各位问题。
### 项目关注度
> 项目获得 Star曲线
[](https://starchart.cc/Trisia/ofdrw)