Skip to content

About

Awesome OFD — 精选 OFD(GB/T 33190-2016)开源库与工具。按 Go/Rust/Python/Java/C++/.NET/JavaScript/Pascal 分语言整理,统一标注预览、解析、发票、各格式导出、PDF→OFD、生成、签章、修改、编辑器等能力,附选型建议与横向对比。

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Awesome OFD Awesome

精选的 OFD(开放版式文档,GB/T 33190-2016)库、工具与资源列表。

OFD 是中国的电子文件版式标准,广泛用于电子发票、电子证照、电子档案。生态以 Java(ofdrw)、Go、JavaScript 为主,其余语言多为个人项目。

本列表按语言分门别类,并用统一维度标注各库的能力,方便横向对比后按需选型。

Contents

图例

能力列的含义:

列 含义
许可证 项目的开源许可证
预览 内置 OFD 预览/显示能力(查看器、浏览器渲染或可视化组件)
解析 解析 OFD 文档结构与内容
发票 支持电子发票类 OFD 处理(发票解析/信息提取、验签验章、发票渲染等)
→ 图片 / → PDF / → TXT / → SVG / → Md / → HTML 导出目标格式的能力
PDF → OFD 支持 PDF 转 OFD 导入
生成 以代码方式生成/创建 OFD 文档
签章 电子签名/盖章(签名、验签、印章)
修改 程序化修改已有 OFD 文档内容(区别于「编辑器」的交互式编辑)
编辑器 附带可视化编辑界面(GUI/WYSIWYG,可交互增删改文档内容)

标记说明:

  • ✅ 支持
  • ⚠️ 部分支持 / 有条件限制(⚠️ 的具体含义见各列下方注释)
  • ❌ 不支持

部分列的 ⚠️ 含义:

  • 发票 ⚠️:可兼容发票文档的通用 OFD 库,但无发票专项功能。
  • → HTML ⚠️:在浏览器中基于 Canvas 渲染显示,但不直接生成 HTML DOM/SVG 结构。
  • PDF → OFD ⚠️:仅支持部分内容(仅文本/图片),或对非嵌入字体等常见 PDF 直接失败。

规范与文档

Go

  • go-zc310 - 能力覆盖最广(预览、发票、PDF→OFD、签章、SVG/MD/HTML 导出)
  • go-ofd - OFD 解析与签章的轻量库
  • go-ofdgo - 全能库,唯一自带可视化编辑器,PDF→OFD 实测成功率最高
  • leijacob-ofd - 支持解析、PDF→OFD、生成、签章与修改
  • ofd-go - 轻量解析 + 签章
  • pdf-to-ofd - 图片型 PDF→OFD 转换(对常见 PDF 常失败)
  • signer-tools - OFD 签名/盖章工具集

能力矩阵

库 许可证 预览 解析 发票 → 图片 → PDF → TXT → SVG → Md → HTML PDF → OFD 生成 签章 修改 编辑器
go-zc310 Apache-2.0 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌
go-ofdgo Apache-2.0 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌ ❌ ✅ ✅ ✅ ✅ ✅
ofd-go Apache-2.0 ❌ ✅ ⚠️ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌
pdf-to-ofd MIT ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ⚠️ ❌ ❌ ❌ ❌
go-ofd Apache-2.0 ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌
leijacob-ofd 无 ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ✅ ✅ ✅ ❌
signer-tools 无 ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌

Rust

  • OFD Reader - 高速、流畅、精准、深入符合国家标准 GB/T 33190 的 OFD 版式文档阅读器
  • easyofd-rust - 文档最完整的 Rust OFD 库,适合生成、签章、PDF/MD 导出
  • easy_print - 发票打印工具,自研 OFD→PDF(矢量渲染 + 印章烘焙)
  • fapiao-print - 发票 OFD 预览与打印,支持 PDF/SVG 导出
  • jian-yue - Rust 阅读器,预览 + 编辑器 + 文本提取,PDF→OFD/签章/修改为部分支持
  • linuxdeepin-rofd - 解析 + 渲染 + 图片导出(LGPL-2.1)
  • ofdbox-rust - Rust 工具箱,支持 OFD↔PDF/PNG 转换与 GM/T 0099 签章验签
  • ofd-rs - 图片转 OFD 的生成器
  • ofd-utility - 解析、图片导出与验签
  • ofd-viewer - 查看器,支持 PDF/TXT 导出
  • ofdmanager - 渲染与图片导出
  • ofdsdk - 基础解析 SDK
  • rofd - 渲染与文档修改
  • rs_ofd - 解析与图片导出
  • SteleOFD - 解析 / 验签 / 修改引擎,项目早期阶段

能力矩阵

库 许可证 预览 解析 发票 → 图片 → PDF → TXT → SVG → Md → HTML PDF → OFD 生成 签章 修改 编辑器
easyofd-rust Apache-2.0 ❌ ✅ ⚠️ ✅ ✅ ❌ ❌ ✅ ❌ ⚠️ ✅ ✅ ✅ ❌
ofdmanager MIT ✅ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
rs_ofd MIT ❌ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
SteleOFD Apache-2.0 ✅ ✅ ⚠️ ✅ ✅ ❌ ✅ ❌ ⚠️ ❌ ❌ ✅ ✅ ❌
ofd-utility MIT ❌ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌
ofdsdk Apache-2.0 ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
rofd Apache-2.0 ✅ ✅ ❌ ⚠️ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌
ofd-viewer MIT ✅ ✅ ❌ ❌ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
fapiao-print MIT ✅ ✅ ✅ ⚠️ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
jian-yue MIT ✅ ✅ ⚠️ ✅ ⚠️ ✅ ❌ ❌ ❌ ⚠️ ❌ ⚠️ ⚠️ ✅
linuxdeepin-rofd LGPL-2.1 ✅ ✅ ⚠️ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
easy_print MIT ✅ ✅ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
ofd-rs Apache-2.0 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
ofdbox-rust Apache-2.0 ❌ ✅ ❌ ✅ ✅ ❌ ❌ ❌ ❌ ⚠️ ❌ ✅ ✅ ❌

Python

能力矩阵

库 许可证 预览 解析 发票 → 图片 → PDF → TXT → SVG → Md → HTML PDF → OFD 生成 签章 修改 编辑器
easyofd Apache-2.0 ✅ ✅ ✅ ✅ ⚠️ ❌ ❌ ❌ ❌ ✅ ✅ ❌ ❌ ❌
ofdreader MIT ❌ ✅ ❌ ❌ ✅ ✅ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
ofd2img Apache-2.0 ❌ ✅ ⚠️ ✅ ⚠️ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
fapiao-ofd2pdf MIT ❌ ✅ ⚠️ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
ofd2pdf 无 ❌ ✅ ❌ ✅ ⚠️ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
OFDtoPDF 无 ❌ ✅ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ⚠️ ❌ ❌
pdf2ofd MIT ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
swingmonkey-ofd2pdf MIT ❌ ✅ ⚠️ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
ce-conversion-engine AGPL-3.0 ❌ ✅ ⚠️ ✅ ⚠️ ✅ ❌ ❌ ❌ ✅ ✅ ❌ ❌ ❌
win-doc-converter 无 ❌ ✅ ⚠️ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
ofd-parser 无 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
OfficeMaster MIT ❌ ✅ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ✅ ✅ ❌ ❌ ❌

Java

能力矩阵

库 许可证 预览 解析 发票 → 图片 → PDF → TXT → SVG → Md → HTML PDF → OFD 生成 签章 修改 编辑器
ofdrw Apache-2.0 ❌ ✅ ✅ ✅ ✅ ✅ ✅ ❌ ✅ ✅ ✅ ✅ ✅ ❌
ofd-analyze 无 ⚠️ ✅ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
easyofd-java Apache-2.0 ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ✅ ❌ ❌
ofdbox Apache-2.0 ❌ ✅ ❌ ✅ ⚠️ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
ofdToPdf 无 ❌ ✅ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
JIMU-ConvertPreview Apache-2.0 ✅ ✅ ❌ ✅ ✅ ❌ ❌ ❌ ❌ ✅ ✅ ❌ ⚠️ ❌
ofdbox-viewer 无 ✅ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ⚠️ ❌ ❌ ❌ ❌ ❌
kkFileView 无 ✅ ✅ ✅ ✅ ⚠️ ❌ ❌ ❌ ⚠️ ❌ ❌ ❌ ⚠️ ❌
kkfileviewxg 无 ✅ ✅ ❌ ✅ ✅ ❌ ✅ ❌ ⚠️ ❌ ❌ ❌ ⚠️ ❌
ofd-server 无 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ✅ ✅ ✅ ❌
ofd-parser-tika Apache-2.0 ❌ ✅ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
fuyue-convert Apache-2.0 ❌ ✅ ⚠️ ✅ ✅ ✅ ❌ ❌ ❌ ⚠️ ❌ ⚠️ ❌ ❌

C++

  • docwriter - 仅做 OFD 生成
  • libofd - 解析、生成、PDF→OFD 与修改
  • ofdEditor - Qt 桌面查看器/编辑器,支持生成
  • OFDEditor - Qt 桌面编辑器,支持生成与修改
  • ofdpdfsigner - 签名验签,支持 PDF/SVG 导出与 PDF→OFD
  • ofdReader - 渲染与图片导出,部分签章支持
  • OfdiumEx - 渲染与图片导出
  • papers-ofd - GNOME Papers 的 OFD 后端(rofd C ABI),打印即 PDF
  • XilouReader - 一体化方案:预览 + 发票 + 生成 + 签章 + PDF→OFD
  • xilou_core - ofdReader 系核心库,渲染与图片导出
  • ZipViewer - 轻量查看器

能力矩阵

库 许可证 预览 解析 发票 → 图片 → PDF → TXT → SVG → Md → HTML PDF → OFD 生成 签章 修改 编辑器
XilouReader BSD-3-Clause ✅ ✅ ✅ ✅ ✅ ❌ ❌ ❌ ❌ ✅ ✅ ✅ ✅ ❌
ofdpdfsigner BSL-1.1 ✅ ✅ ❌ ✅ ✅ ❌ ✅ ❌ ❌ ✅ ❌ ✅ ❌ ❌
ofdReader 无 ✅ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ⚠️ ❌ ❌
xilou_core BSD-3-Clause ✅ ✅ ⚠️ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
docwriter MIT ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌
libofd MIT ✅ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ✅ ✅ ❌ ✅ ❌
OFDEditor Apache-2.0 ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌ ✅ ✅
OfdiumEx Apache-2.0 ✅ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
ofdEditor MIT ✅ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌ ✅ ✅
ZipViewer MIT ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
papers-ofd GPL-2.0 ✅ ✅ ⚠️ ✅ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌

.NET

能力矩阵

库 许可证 预览 解析 发票 → 图片 → PDF → TXT → SVG → Md → HTML PDF → OFD 生成 签章 修改 编辑器
ofdrw.net MIT ❌ ✅ ❌ ✅ ✅ ✅ ✅ ❌ ✅ ✅ ✅ ⚠️ ✅ ❌
XiaoFeng.Ofd MIT ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ✅ ❌ ❌
OfdViewer MIT ✅ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ⚠️ ❌ ❌
ofdrw-net 无 ❌ ✅ ❌ ✅ ✅ ❌ ❌ ❌ ❌ ✅ ✅ ✅ ❌ ❌
OFDConverter Apache-2.0 ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
ofdparser 无 ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
BootstrapBlazor.OfdReader MIT ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
Ofd2Pdf MIT ❌ ✅ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
ofd2pdf 无 ❌ ✅ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌

JavaScript

  • bestofdview - 查看器,支持签章
  • imageConversion - OFD/图片/PDF 转换,部分验签支持
  • jit-viewer-sdk - 商业级查看 SDK
  • jsOFD - 浏览器内 PDF→OFD(基于 pdf.js),支持生成
  • local-doc-viewer - Tauri 桌面阅读器(AGPL-3.0)
  • ofd-lzy - 浏览器查看器,支持验签、发票提取与批注(BUSL-1.1)
  • liteofd - 预览 + 验签 + HTML 输出
  • ofd-online - 在线预览,支持 SVG 导出
  • ofd-reader - TypeScript 浏览器阅读器,预览 + 图片导出,HTML 为 Canvas 渲染
  • ofd-to-pdf - OFD→PDF(浏览器/Node),支持发票
  • ofd.js - 预览 + HTML 输出,部分验签支持
  • ofd.js-js-nuxt - ofd.js 的服务端渲染版(Nuxt),部分验签支持
  • ofd_editor_frontend - 唯一自带编辑器的 JS 库
  • ofdjs - 浏览器预览首选,生态最完善
  • ofdjs-viewer - ofdjs 的查看器实现,支持文本提取
  • ofdviewer - 纯前端查看器
  • file-viewer - 多格式浏览器预览,支持 OFD/HTML 输出
  • ofdview - USDOC WASM 浏览器阅读器,支持验签与发票预览
  • OFDView - 预览 + HTML 输出
  • piaopinpin - 发票解析与预览
  • webofd - 在线预览

能力矩阵

库 许可证 预览 解析 发票 → 图片 → PDF → TXT → SVG → Md → HTML PDF → OFD 生成 签章 修改 编辑器
ofdjs Apache-2.0 ✅ ✅ ⚠️ ✅ ❌ ❌ ❌ ❌ ⚠️ ❌ ❌ ❌ ❌ ❌
liteofd Apache-2.0 ✅ ✅ ⚠️ ✅ ❌ ✅ ❌ ❌ ✅ ❌ ❌ ⚠️ ❌ ❌
OFDView Apache-2.0 ✅ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌
ofd.js Apache-2.0 ✅ ✅ ⚠️ ✅ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ⚠️ ❌ ❌
ofdjs-viewer MIT ✅ ✅ ❌ ✅ ❌ ✅ ❌ ❌ ⚠️ ❌ ❌ ❌ ❌ ❌
ofdviewer MIT ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ⚠️ ❌ ❌ ❌ ❌ ❌
webofd 无 ✅ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ⚠️ ❌ ❌ ❌ ❌ ❌
ofd-online 无 ✅ ✅ ❌ ✅ ❌ ❌ ✅ ❌ ⚠️ ❌ ❌ ❌ ❌ ❌
bestofdview 无 ✅ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ⚠️ ❌ ❌ ✅ ❌ ❌
imageConversion MIT ✅ ✅ ❌ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ⚠️ ❌ ❌
jit-viewer-sdk Apache-2.0 ✅ ✅ ⚠️ ✅ ❌ ✅ ❌ ❌ ⚠️ ❌ ❌ ⚠️ ❌ ❌
ofd-reader 无 ✅ ✅ ⚠️ ✅ ❌ ❌ ❌ ❌ ⚠️ ❌ ❌ ❌ ❌ ❌
piaopinpin MIT ✅ ✅ ✅ ✅ ❌ ❌ ❌ ❌ ⚠️ ❌ ❌ ❌ ❌ ❌
ofd_editor_frontend 无 ✅ ✅ ❌ ✅ ✅ ❌ ❌ ❌ ⚠️ ❌ ✅ ✅ ✅ ✅
ofd-to-pdf Apache-2.0 ❌ ✅ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
jsOFD MIT ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ✅ ✅ ❌ ❌ ❌
ofd-lzy BUSL-1.1 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌ ⚠️ ❌ ❌ ✅ ❌ ✅
local-doc-viewer AGPL-3.0 ✅ ✅ ⚠️ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
ofd.js-js-nuxt Apache-2.0 ✅ ✅ ⚠️ ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ⚠️ ❌ ❌
file-viewer Apache-2.0 ✅ ✅ ⚠️ ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ⚠️ ❌ ❌
ofdview Apache-2.0 ✅ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ⚠️ ❌ ❌ ✅ ❌ ❌

Pascal

  • tinyofd - 轻量查看器,支持文本提取

能力矩阵

库 许可证 预览 解析 发票 → 图片 → PDF → TXT → SVG → Md → HTML PDF → OFD 生成 签章 修改 编辑器
tinyofd PolyForm-NC ✅ ✅ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌

选型参考(可能过时)

快照日期:2026-10。以下为基于 ofd-benchmark 实测与各项目 README 得出的辅助信息,项目更新后可能不再准确,请以仓库最新文档为准。

速查

已知限制

  • ofdrw(Java):PDF→OFD 打包需引入 zip4j;输出为矢量轮廓/位图,不含可提取文本。
  • easyofd-rust(Rust):PDF→OFD 实测可能输出空页、CID 字体乱码、版面固定,体积/速度优势来自内容丢失。
  • rofd(Rust):→ 图片仅部分支持。
  • easyofd(Python):→ PDF 基于图片渲染;实测部分文件会崩溃。
  • ofd2pdf(Python):基于图片渲染,输出无可提取文本。
  • ofdjs(JS):→ HTML 为 Canvas 渲染,不生成 HTML DOM/SVG。
  • jsOFD(JS):Node <22 需补 process.getBuiltinModule;不转换注解/渐变/图案。

贡献

欢迎补充与修正。提交 PR 时请:

  1. 把条目加入对应语言列表与能力矩阵,按已有维度逐项核对(✅ / ⚠️ / ❌)。
  2. 注明仓库地址与许可证;许可证未明确写「无」。
  3. 部分支持请用 ⚠️,并在条目描述中说明限制。
  4. 若来自 ofd-benchmark 的基准测试结论(如 PDF→OFD 质量),一并附上说明。
  5. 发现能力标注与项目现状不符,欢迎直接提 PR 修正,快照内容也随之更新。

说明

  • 能力标注基于各项目 README、源码与基准测试结果,可能随版本变化,仅供选型参考。
  • 无许可证的项目默认保留所有权利,商业使用需谨慎。
  • 清单内容采用 CC0-1.0,代码仓库许可证见 LICENSE。

About

Awesome OFD — 精选 OFD(GB/T 33190-2016)开源库与工具。按 Go/Rust/Python/Java/C++/.NET/JavaScript/Pascal 分语言整理,统一标注预览、解析、发票、各格式导出、PDF→OFD、生成、签章、修改、编辑器等能力,附选型建议与横向对比。

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors