主题
一凡OFD 是什么
一凡OFD(npm 包名 rust-ofd)是基于中国国家标准的 OFD(开放版式文档,Open Fixed-layout Document)全功能 Rust 库——一个 Rust 核心,多个语言出口:
text
┌──────────── WASM (wasm-bindgen) ──→ npm 包 rust-ofd(浏览器/Node)
│
一凡OFD 核心 ──┼──────────── C ABI (ofd_ffi 动态库) ─→ C# / Java(JNA) / C/C++ / Go…
│
├──────────── PyO3 ──→ Python 扩展 rust_ofd
│
└──────────── ofd-cli ──→ 命令行(渲染/签名/加密/转换)它能做什么
| 能力 | 说明 | 出口 |
|---|---|---|
| 解析 | OFD 容器(ZIP)、文档结构、注释、附件、版本、自定义元数据 | 全部 |
| 渲染 | 页面 → PNG 位图、页面 → Canvas 2D 指令流(网页回放) | 全部 |
| 文本 | 整页文本提取(可复制、可检索)、全文检索、逐字符文本布局 | WASM / Rust / C ABI |
| 验签 | SM2 签名值、文档摘要、SES v1/v4 电子签章、证书链 | WASM / CLI / C ABI / C# |
| 签名 | 生成 SM2 密钥、对文档签名(SES v4 + 印章) | WASM / CLI / Rust |
| 转换 | PDF ↔ OFD 双向(文本双模式、页码范围、口令) | WASM / CLI / C ABI / C# |
| 加密 | SM4-CBC 内容加密 + SM2 数字信封 | WASM / CLI / Rust |
| 工具 | 文档合并、水印(文字/图像)、页面操作(抽取/删除/拆分/旋转)、结构化生成 | WASM / Rust / CLI |
| 档案 | OFD-A 合规检测与自动修复(GB/T 42133-2022 九条规则) | WASM / Rust |
核心特性
- 同一渲染内核:网页(WASM)与桌面(原生)共用同一套渲染代码。实测 6 个样例 WASM 与原生 CLI 渲染逐像素差异 0.000%(
examples/node-demo/parity-check.mjs)。 - 文件不出浏览器:WASM 出口下,打开、渲染、验签、转换全部在用户设备本地完成,没有任何上传。
- 真实语料验证:73 份真实 OFD 样例(含数科电子发票、发票监制章、非标命名空间、GB/T 42133 国标原文)全功能回归,info / list / render / verify / sign / encrypt / decrypt 七项全部通过;PDF→OFD 另有 1018 份公开 PDF 语料自动化评测(成功率 / SSIM / 文本层三指标,见转换页)。
- 字体子集化:GB/T 42133 要求的字体保真嵌入——138 个裸 CFF 字体嵌入零退化。
诚实的边界
见能力边界:JPX/JPEG2000 与 JBIG2 已真解码(极罕见组合仍占位降级)、视频对象渲染封面图、PDF shading 为近似、无 ToUnicode 的 PDF 文本经多层反查仍无法判定时不可检索等,均在文档中明确列出。
许可证
本项目为专有软件(闭源),按商业授权发布:非独占、不可转让、按授权实例 (域名 / 部署标识)与期限授权,仅以目标代码形式交付。完整条款见仓库 LICENSE;第三方组件声明见 THIRD-PARTY-NOTICES.md。授权申请: https://license.11m18.cn。