0.2.0 正式版已于北京时间 2026-11-05 10:55:02 在 GitHub 公开。NuGet 的 12 个主包均已公开回读并验证仓库签名,11 个符号包已上传。产品标签 v0.2.0 对应源码 4970c1c5fae19e30779cdf593d91728f7efc573d。GitHub Release · NuGet 元包 · Trusted Publishing 工作流
相比 0.1.0-preview.10
- 新增段落排版引擎及独立 OFD writer:支持 Unicode 17.0.0 双向文本、断行和字素簇分析,以及 HarfBuzz 塑形、按簇字体回退、逐行重塑形、对齐和分页。Writer 保留逻辑原文及字形映射,PDF 和 SVG 可绘制映射后的原始字形。Flow、纯文本和 DOCX 转换仍走原入口。
- 原生 DOCX→OFD 改善多级列表编号、下划线及两端对齐;CLI 新增
--native-embedded-bold-behavior throw供严格字体部署。OFD→PDF 和 OFD→Image 修复固定 Regular-only 样例中“量”的合成粗体字腔堵塞;直接打开 OFD 的其他阅读器不受此修复影响。导入文字的样式编辑保留原有画刷和变换,SVG 优先使用声明的字体家族。 - OFD→PDF 新增
ConvertWithResultAsync,报告签章绘制数量和跳过原因。Reader 提高长文档遍历预算并继续受字节预算约束;强化外部 XML 的 DTD 拒绝,写入失败或取消时不再保留看似有效的部分 ZIP。 - CLI 新增
preflight、delete-pages、crop、attachments list|extract|remove、locate。验签支持--require-signatures,无签章时退出码为 4。 - 修复非有限数值、重复模板 ID 和损坏
OFD.xml的读取行为,相关结构错误统一抛出InvalidDataException。文档及渲染暂存目录默认仅当前用户可访问;Microsoft Word 仍使用其沙箱目录。
兼容性与依赖
- SDK 保持
netstandard2.0/netstandard2.1,CLI 仍要求 .NET 10。默认发布 12 个 NuGet 包;Skia、PDF vector、SES interop、password crypto 仍为独立扩展。HarfBuzz 适配包使用HarfBuzzSharp及各平台 native assets 14.2.1.301;字体文件不随 NuGet 分发。 - 发布依赖沿用既有受审清单,包括 ImageSharp 2.1.13;已记录的五项 NuGet 安全告警仍存在。详见依赖评估。
- 段落 writer 需要显式字体面,不输出合成样式、描边或非 BMP 字符;PDF→OFD 的 RTL 语义导入尚未扩展。当前范围涵盖固定拉丁、汉字、希伯来语、阿拉伯语和泰米尔语样例;阿拉伯语两端对齐扩展词间空格,未实现 kashida。
- Preview Find 兼容性及原始 Unicode Copy 仍未验证为通过。新段落导出的 PDF 文本选择框也可能偏离字形。视觉通过、原文回读和阅读器 Copy/Find 是不同检查。
安装
dotnet add package Ofdrw.Net.Converter --version 0.2.0
dotnet tool install --global Ofdrw.Net.Cli --version 0.2.0已安装 CLI 时使用 dotnet tool update --global Ofdrw.Net.Cli --version 0.2.0。
验收范围
标签源码的 CI 在 Linux、Windows 和 macOS 完成功能与包消费验证。发布候选的固定物理 Regular/Bold 字体配置下,DOCX 显式 Native 与默认模式各生成两页,经 OFD→PDF→macOS Preview 逐页通过。新段落排版引擎的三个固定输出页面也通过 PNG 与 Preview 检查。验收覆盖所列配置和页面。详见源码绑定的 DOCX 验收记录。
从 nuget.org 独立安装的 SDK、HarfBuzz 和 CLI 均通过消费验证。固定 DOCX 的两模式均保留 189 个非空白源字符,OFD 原文完整,PDF 提取无重复。公开包生成的七张页面 PNG 与已验收候选逐字节相同,导出的七页 PDF 也已在 macOS Preview 逐页复验通过。详见公开发布记录。