Skip to content

Vantalens/Trans2Former

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

196 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trans2Former

本地优先的多格式文档转换工具

简体中文 | English | 日本語 | 한국어 | Français | Español | Deutsch | Português | Русский | العربية

Trans2Former 是一款桌面级文档转换工具:14 种输入格式、11 种输出格式,全部转换在本机完成。不上传文件、不依赖 Office / LibreOffice / Pandoc,并对每次转换生成可解释的质量检验报告。

License: MIT Tests Version


特性

  • 本地优先:转换、OCR、公式渲染全部离线执行,文档处理阶段禁止联网
  • 转换可检验:规则 diff、SSIM 视觉对比、OCR 回读三层校验,统一写入质量报告并在工作台可视
  • 本地 OCR:内置 PP-OCRv5(ONNX Runtime,WebGPU / WASM),支持方向校正、倾斜纠偏、自适应去噪、版面结构识别与质量评分
  • 公式渲染:本地 KaTeX 排版 $...$ / $$...$$
  • 高性能:Web Worker 并行管线,不设人为文件大小上限
  • 零运行时依赖:核心转换不需要任何外部办公软件

支持的格式

类别 输入(14 种) 输出(11 种)
文档 Markdown、HTML、TXT、DOCX、PDF、EPUB Markdown、HTML、TXT、DOCX、PDF、EPUB
数据 JSON、CSV、XML、XLSX JSON、CSV、XML、XLSX
演示 PPTX PPTX
图片 PNG(OCR 识别) (PNG → HTML、TXT、JSON、PDF 通过 OCR 识别后转换)
实验性 DOC(仅文本提取)、OFD(L0 级:容器解析,战略攻坚格式)

常用路径:Markdown ↔ HTML · DOCX → Markdown · PDF → Markdown · XLSX ↔ CSV · HTML → PDF

完整转换矩阵见 docs/CONVERSION_PATHS.md


快速开始

开发和 CI 支持 Node.js 22 或 24;仓库默认版本见 .nvmrc(Node 24)。Node 25+ 当前不在支持范围。

npm install   # 安装依赖
npm start     # 启动,浏览器打开 http://localhost:3000
npm test      # 运行完整测试套件(含真实浏览器转换矩阵)
npm run coverage # 在受支持 Node 版本上运行覆盖率门禁

桌面应用(Tauri 2)与发布包:

npm run desktop:dev       # 桌面开发模式
npm run release:prepare   # 生成发布包

项目结构

Trans2Former/
├── public/          # 前端应用(纯 ESM,无构建步骤)
│   ├── core/        # 数据模型、格式注册表、OCR、校验
│   ├── formats/     # 各格式 reader / writer
│   └── workers/     # Web Worker 转换管线
├── docs/            # 完整文档
├── samples/         # 测试样例
├── scripts/         # 构建、vendor 与测试脚本
└── src-tauri/       # Tauri 桌面壳

核心本地能力

增强能力直接内置于核心模块,不使用插件机制;模型资源不入 git,由 vendor 脚本按钉定来源下载并经 SHA-256 校验(scripts/paddleocr-models.manifest.json),随发布包分发、开箱即用。

架构演进路径

  • ✅ v1(当前):单一 DocumentModel 统一承载所有格式
    • 详见 DOCUMENT_MODEL_SCHEMA.md
    • 9 种块类型(heading/paragraph/list/table/code/quote/image/asset/raw)
    • 已验证支持 14 种输入 → 11 种输出转换矩阵
  • 🎯 v2(设计中):多域模型架构,语义解耦
    • 五个规范模型:SemanticDoc(流式文档)、WorkbookModel(表格)、SlideModel(演示)、FixedLayoutModel(固定版式)、AssetGraph(共享资产)
    • 详见 MULTI_DOMAIN_MODEL_DESIGN.mdV2_MULTI_DOMAIN_MODELS.md
    • 跨模型转换显式 mapper,降级可见
  • ⏱️ 迁移计划:Phase 5 完成详细设计(✅已完成),Phase 6-11 分阶段实施(约 15 周),保证向下兼容

本地能力

  • PP-OCRv5 本地 OCR:图片与扫描 PDF 的检测 + 识别 + 方向分类,含纠偏、去噪、版面归并和置信度评分
  • Tesseract.js 轻量 OCR:可选引擎,在安全中心导入 tessdata 即可启用
  • 三层转换校验:规则 diff + SSIM + OCR 回读,结果可解释、可降级
  • KaTeX 数学渲染:零联网

OCR 运行时准备:

npm install onnxruntime-web
npm run vendor:onnx
npm run vendor:paddle

浏览器端验证记录见 docs/PP_OCRV5_BROWSER_VERIFICATION.md


数据安全

  • 不上传文件、文件名、转换结果或错误日志
  • 文档处理阶段禁止网络访问
  • 不接入第三方转换 API 或分析 SDK

完整策略见 docs/SECURITY_POLICY.md


文档

入口 内容
docs/README.md 文档总索引
INSTALL.md 安装指南
CHANGELOG.md 版本记录
CONTRIBUTING.md 贡献与测试要求
docs/BENCHMARK.md 基准测试报告
docs/architecture/MULTI_DOMAIN_MODEL_DESIGN.md v2 多域模型设计文档
docs/V2_MULTI_DOMAIN_MODELS.md v2 多域模型参考手册
docs/V2_MIGRATION_GUIDE.md v2 迁移指南
docs/CONVERSION_ROUTING.md 转换路由
docs/SECURITY_POLICY.md 安全策略

已知限制

  1. 部分复杂样式在跨格式转换中无法完全保留
  2. PPTX 动画与图表尚不支持
  3. OCR 对强斜体、艺术字识别有限;DOC / OFD 输入为实验性
  4. 暂不支持 ZIP64 超大压缩包

贡献

欢迎提交 Issue 与 Pull Request:fork 仓库 → 创建特性分支 → 提交更改 → 发起 PR。开发规范与测试要求见 CONTRIBUTING.md


许可证

MIT,详见 LICENSE

第三方依赖的许可证信息见 THIRD_PARTY_NOTICES.md


链接

About

A browser-native document transformation engine that converts and restructures multi-format content via a unified DocumentModel.

Topics

Resources

License

Contributing

Stars

5 stars

Watchers

0 watching

Forks

Contributors