Alias: EDENS ZERO
修复:
- 编辑文档时,设置 背景、边框无效的问题:路径数据clone时丢失信息
- 向虚拟页面页面追加内容时NPE的问题:add时主动进行预处理取得元素高度。
- ST_Box、ST_Array 写入数字时,对于小数保留两位小数(四舍五入)减少无意义的精度。
Alias: Cat's Eye
修复:
- 修复不规范的OFD路径操作符合操作数,造成无法转换PDF、图片的问题。
Alias: So I'm a Spider, So What?
修复:
- 修复了jar包内嵌字体无法加载导致NPE
Alias: ODD TAXI
新增:
- 段落布局增加了行内的文字浮动方向配置
Alias: Back arrow
修复:
- 资源加载器对路径是否存在的BUG,导致的转换PDF无印章情况。
- 修复从OFDDoc获取Layout给页面赋值并配置时候配置无效的问题。
新增:
- 《GB/T 32918》 中描述的密钥派生函数 KDF
- 《GM/T 0099-2020》:
- 标准中提及的所有数据结构:加解密、签名、防止夹带。
- 增加了 OFD 2.0 中规定的各类目录结构,如:模板目录(Temps)、注释目录(Annots)。
- 调整的注释生成的存放位置为专用的
Annots
目录。
Alias: Your Lie in April
修复:
- 文件转换过程中由于印章解析异常导致NPE。
- 升级PDFBox防止可能发生OOM攻击BUG。
Alias: Sword Art Online
修复:
- 转换PDF对路径对象解析越界问题。
新增:
- 流式布局的页面插入功能
Alias: Ghost in the Shell
修复:
- 对签名列表文件、注释列表文件、附件列表文件的存在性检查,修复 出现路径存在文件不存在BUG。
- 修复 转换PDF时描边颜色转换错误的问题。
Alias: A Certain Scientific Railgun
修复:
- 多个相同关键字只能检索到1个的问题。
- 修复了测试 OFD转图片、SVG、HTML中示例OFDReader没有关闭造成的临时文件没有删除的问题。
Alias: Hori-san to Miyamura-kun
修复:
- 颜色空间导致的NPE。
- 修复在字体无法加载时使用系统字体进行模糊替换的BUG。
新增:
Alias: MissKobayashiDragonMaid
修复:
- 修复了段落内容分页造成的没有重设高度造成的死循环。
- 修复Clear和 Float共同作用式发生得到布局错误。
- 内部布局调用容器直接添加到虚拟页面,而不是add接口,跳过参数检测带来的意料之外的错误提示打印。
新增:
- 修改了Div内大量参数的返还值,现在通过子类也可以对父类的链式调用。
- Div中加入了快捷的配置方法减少调用者配置负担。
- 支持了虚拟页面的随意位置插入,见测试用用例 DocEditDemos#pageInsertTest
- 段落内增加了新的带有字体大小的构造器,引导用户创建字体时进行配置。
Alias: MEGALOBOX
修复:
FontLoader
:- 对于系统字体不再使用嵌入式字体的加载方式。
- 增加了开关用于控制强制启用加载字体为嵌入式字体。
FontLoader#enableForceEmbedded
Alias: Re:Zero
修复:
- PDF转换TTC格式字体加载失败问题。
- 修复PDF转换字体无法加载时使用相近字体替代。
Alias: TheJourneyofElaina
修复:
- 修复流式布局下,段落布局问题:
- 居中不正确
- 设置宽度无效
- 设置高度无效
- 见 段落布局示例
Alias: ToYourEternity
新增:
- 数字签名清理工具,见示例
- PKCS工具增加了流式输入参数解析私钥。
Alias: Kaguya-samaLoveIsWar
修复:
- 图片转换骑缝章图章绘制错误问题。
Alias: EromangaSensei
修复:
- 向OFD文件添加水印文件时,发生的强制类型转换错误的问题。
Alias: CrayonShinChan
修复:
- Core模块中对 CT_Permissions实例错误定义,实例应该是Permissions。
Alias: TIGER×DRAGON!
新增:
- 图片转换接口新增
double
类型的PPM设置
Alias: Natsume'sBookOfFriends
新增:
- OFD转换SVG,相较于转换图片,速度更快,可以无失真的缩放。
修复:
- PDF转换文字重叠一起,TextCode DeltaX 没有提供,缺少的DeltaX使用重复最后出现的DeltaX。
- 修复由于iText包provider引入造成的NCE问题。
Alias: OnePunchMan
修复
- Reader解析页面大小造成的NPE
Alias: DailyLivesOfHighSchoolBoys
修复:
- 修复了获取页面存储,没有考虑模板页面的问题。
- 修复了绘制参数存在继承情况的clone异常的问题。
新增:
- 替换了PDF转换模块的实现的为iText,部分内嵌字体问题缺失表的情况仍然没有解决。
Alias: ScissorSeven
修复:
- 图片转换绘制参数没有正确设置的问题。
新增:
- 图片转换支持 符合对象。
- 支持对Path对象紧缩表示的解析。
Alias: GINTAMA
修复:
- 解析印章过程由于路径错误造成无法读取印章的问题。
- 优化了Canvas字体配置构造的复杂性问题。
- Layout布局在绝对定位方式下需要手动指定坐标的友好提示。
Alias: Pokemon
修复:
- 内嵌字体加载异常问题
- 修复了字体加载的Bug
新增:
- 优化Reader的代码结构
- 迁移
DLOFDReader
主要功能到OFDReader
OFDReader
:- 增签章获取PageInfo的能力,简化转换模块解析工作。
- 增加获取注解信息的方法。
org.ofdrw.reader.OFDReader.getStampAnnots
- 增加了获取电子签章信息方法
org.ofdrw.reader.OFDReader.getAnnotationEntities
- 增加了获取页面集合方法
org.ofdrw.reader.OFDReader.getPageList
Alias: PlasticMemories
新增:
- 字体加载器简化字体加载
FontLoader
修复:
- 修复了转换过程内嵌字体无法加载的大部分问题。
- 优化了PDF的代码。
- 修复了PDF转换过程中无法获取部分资源造成页面内容缺失。
- 兼容了坐标字符可能含有非数字成分问题。
Alias: ZOMBIELANDSAGA
新增:
- Reader模块下新增资源加载器
ResourceManage
用于简化资源的获取:- 资源涵盖 公共资源序列(
PublicRes.xml
) 和 文档资源序列(DocumentRes
.xml)中所有资源 - 通过资源ID就可以获取到资源对象。
- 资源对象中如果存在文件路径,将全部替换为绝对路径。
- 获取到的所有资源对象均为只读副本,不允许修改。
- 资源涵盖 公共资源序列(
修复:
- OFD转图片:
- 电子印章位置不正确的问题。
- 修复了空白页面没有
ofd:Content
导致的NPE问题。
- 修复了资源加载器无法获取到
PublicRes.xml
下的图片资源问题。
Alias: JujutsuKaisen
修复:
- Img元素无法解析CMYK图片造成的IIOException。
Img(java.nio.file.Path)
构造器不再推荐使用,添加图片应该手动指定图片大小Img(double, double, java.nio.file.Path)
Alias: InitialD
修复:
- 图片转换电子印章缺失。
- 增加了Span的字体填充属性
fill
。 - 调整了项目结构优化包引用。
- 修改了图片转换实例构造的参数名称为
ppm
,像素每毫米
Alias: MyYouthRomanticComedyIsWrongAsIExpected
新增:
修复:
- 无法获取相对路径附件的问题。
Alias: AttackOnTitan
修复:
- OFD转PDF text兼容hScale
- 修复了多环境下
PdfBoxFontHolder
造成的并发异常。
Alias: LogHorizon
新增
- OFD转换PDF方法支持使用已经解压的OFD文档作为输入。
- OFDReader构造方法支持,文件路径以及解压的OFD文档作为输入。
修复
- 向已经存在附件的文件中添加附件时,重覆盖了原Attachment.xml文件的问题。
- 修复了错误的附件大小计算。
- 签章v1容器的签章时间格式改为"yyyy-MM-dd HH:mm:ss" 以适应数科阅读器验证。
Alias: CellsAtWork
新增
- 关键字定位:增加后缀匹配解决跨TextObject定位。
修复
- 调整了full模块的打包方式为jar并且增加了占位class,修复了一些情况下无法打包和镜像参数无法同步的问题。
Alias: HYOUKA
修复
- OFDReader中zip没有关闭,导致文件占用的问题。
- SealOFDReader 向后兼容了Path的构造参数。
Alias: Fate/Zero
新增
- OFD转换模块
ofdrw-converter
发布,支持OFD转换PDF - RW中主要API均增加流参数支持,如:OFDReader、OFDDoc、OFDSigner、ConvertHelper。
修复
- OFDDoc使用Path对象生成文档是的IAE。
- 修改了OFD转换PDF的渐变处理
Alias: MobileSuitGundamSEED
新增
- 增加了通过类型获取CT_Color实例的方法。
- 关键字搜索支持通知检索多个关键字。
- 转换模块支持了PageBlock的嵌套。
修复
- Canvas上下文中增加了默认字体属性的解决了没有设置字体导致的NPE。
- 解决了转换部分错误。
Alias: MobuSaikoHyaku
新增
- ofdrw-converter 模块用于转换OFD到PDF [开发中暂不可用]
- 文字提取增加了指定页码的方法参数
修复:
- 错误CT_CGTransform名称
- 提升了文字提取的精度
Alias: FlyMeToTheMoon
新增:
- 支持了指定宽度的首行缩进配置
修复:
- 首行缩进可能出现的被分割的情况。
- 调整了占位span的实现方式,采用构造矩形的方式替换的原有的字形分析。
Alias: OriginalGod
新增:
- 签章容器增加了时间戳的设置方法
- 增加了新的Reader对象用于转换时的元素解析。
修复:
- Page对象中Template应该可以有0到多个
Alias: KimetsuNoYaiba
新增:
修复:
- CT_Dest 错误的PageId属性设置。
- Signature.xml中MaxSignId重复设置导致多个MaxSignId出现。
- V4的签名容器增加了签名时间的时区指定。
Alias: GrandBlue
修复:
- Canvas API 叠加矩阵变换错误的问题。
新增
- Canvas文档增加了使用HTML Canvas调试的示例。
Alias: BlackLagoon
修复:
- 虚拟容器:修复了在修改模式下由于虚拟容器缓存导致,读取的xml文件在没有变更的情况仍然写回文档,但是在序列化时导致和源文档不一致的问题,该问题会导致签名的完整性验证失败。
- 签章:修复了在Reader模式下,默认文档不是Doc_0 导致签章之后结果生成Doc_0的问题。
- 签章:修复了在Signatures.xml被保护是签章没有报错的BUG。
- 签章定位:骑缝章指定分割数量,在页码不足分割数量时重新调整分割数量适应剩余页码。
- 文字提取:优化文本宽度计算,解决字号大小不等于deltaX时,宽度计算错误。
Alias: HimoutoUmaru
新增:
- core模块中增加了jaxen库的引用,用于支持xpath。
- 骑缝章增加了页面的边距和切割份数的支持。
- 优化关键字定位,增加了断字断句文档和CTM处理。
为了增加版本趣味性,增加了别名
Alias: overlord
修复:
- 修改文档时向文档添加已经存在文件导致的不友好报错。
- PageBlock文字提取修复
新增:
修复:
- 修复了getInstance中错误的QName导致无法获取对应元素的BUG。
- 修复了由于字体大小大于可用最大宽度在分析阶段导致的死循环。
新功能:
修复:
- 修复了 CustomDatas 在解析CustomData 序列时候错误的关键字使用。
- 修复了V4版本电子签章可选参数tag0的错误。
- 兼容非标准推荐的签名ID,如"sN"、"N"类型的解析。
- 支持了坐标偏移中厂商定义的
g
参数偏移量。
-
修复了无法解析OFD内含有中文目录的文件错误。
-
新增了OFD页面文字抽取的方法:
- 修复了ST_Array 数组含有多空格抛出IAE的问题。
- 兼容了旧的OFD命名空间。
- 简化了
ofdrw-font
字体库以及相关API,移除了内嵌的几个noto字体,减少库体积。
-
OFDSigner 可以使用自己构造的签名ID提供器,而不是标准推荐的 "s'NNN'"格式
需要手动实现
org.ofdrw.sign.SignIDProvider
接口
- 修复了注释对象参数无法添加多个的问题。
- CVE-2020-10683 dom4j库可能造成XXE 攻击,升级该库至2.1.3。
- 增加了替换附件的功能。
- 首页加入了免责声明,以及咨询入口。
- 修复了电子印章为非必选参数,签章容器不设置电子印章就无法进行签章操作的问题。
- 为Canvas API 提供线条的各种参数设置包括
- 回线条的结束端点样式
- 两条线相交时,所创建的拐角类型
- 最大斜接长度,也就是结合点长度截断值
- 填充线时使用虚线模式,设置虚线间隔
Canvas 测试用例见 DrawContextTest
#setLineDash
#setMiterLimit
#setLineJoin
#setLineCap
签章测试用用例见 NoSealSignTest
-
2020-05-15 完成OFD的注释功能
测试用例参考
org.ofdrw.layout.OFDDocTest#addAnnotation(void)
。 -
2020-05-14 启动注解对象构想,用于支持水印等注解的加入。
-
2020-05-10 完成了Canvas系列API的开发。
-
2020-05-01 增加了Canvas设计,用于更加灵活的绘制和水印效果。
-
2020-04-23 发布
1.2.0
版本,支持OFD电子签章。 -
2020-04-22 实现了行内的换行符换行功能。
-
2020-04-20 ofdrw-sign 成功完成一次数字签名。
-
2020-04-19 增加了ofdrw-gm 模块用于支持电子签章。
-
2020-04-18 增加了ofdrw-sign模块【未完成】,加入了ofdrw-gv用于共享全局变量。
-
2020-04-15 启动了ofdrw-sign 模块分析设计。
-
2020-04-12 发布ofdrw 1.1.0版本。
-
2020-04-11 【里程碑】实现了向已有OFD增加内容,以及追加内容的功能,考虑发布 1.1.0-RELEASE版本。
-
2020-04-04 采用虚拟容器的方式重写ofdrw-pkg,为文档的反序列化和修改做准备。
-
2020-04-01 启动ofdrw-reader的初期设计。
-
2020-03-31 【里程碑】 OFD R&W 正式发布第一个版本,版本号 1.0.0。
-
2020-03-29 完成了《OFD R&W 布局设计》的各种情况测试,准备发布版本。
-
2020-03-28 增加了文字下划线、段落的首行缩进的支持。
-
2020-03-26 完善了少内容段落的布局,能够使用center居中,增加HelloWorld Demo。
-
2020-03-24 【里程碑】 基本完成段落渲染器开发,第一次成功生成一份含有文字的OFD文档。
可以运行
org.ofdrw.layout.OFDDocTest#paragraphTest
测试用用例,查看效果。 -
2020-03-23 确定了图片渲染方式,并生成了含有图片的OFD文档,开始策划开发段落渲染器。
可以运行
org.ofdrw.layout.OFDDocTest#imgTest
测试用用例,查看效果。 -
2020-03-22 使用ofdrw-layout 采用固定布局虚拟页面的方式生成了第一个图形OFD文档。
可以运行
org.ofdrw.layout.OFDDocTest#divBoxTest
测试用用例,查看效果。 -
2020-03-18 策划并启动 font的开发。
-
2020-02-28 开始Layout的开发。
-
2020-01-22 启动 Layout 设计。
-
2020-01-20 ofd r&w 首个OFD文件生成成功,并能够通过 数科OFD阅读器 正确打开。
可通过运行
org.ofdrw.pkg.dir.OFDDirTest#jar
在项目target目录下生成一个名为hello.ofd的文件。 -
2019-11-21 完成基础库的开发工作,开始策划
ofdrw-pkg
。 -
2019-09-27 项目策划完成并开始实施。
如果该项目有兴趣不妨给个Star,欢迎大家一同参与项目。