基于 Tauri v2 构建的桌面演示批注应用,适用于教学、会议、产品展示等多种场景。
无需 Node.js 构建前端 — 原生 ES Module 直接加载,零 bundler 依赖。
此项目由viewstage衍生而来
| 类别 | 功能 |
|---|---|
| 🖼 图片 | 导入本地图片,支持旋转与删除 |
| 📄 文档 | 基于 PDF.js 渲染 PDF;通过 PowerShell COM 自动将 Word 文档(支持 Office/WPS/LibreOffice)转换为 PDF;支持系统文件关联直接打开 |
| ✏️ 批注 | 移动、批注、橡皮擦三种模式;支持压感笔锋与贝塞尔曲线平滑;可自定义颜色与粗细 |
| ↩️ 撤销 | 采用 Command 模式实现撤销与重做,上限 50 步,超限自动合并快照以控制内存 |
| 🌐 国际化 | 支持简体中文、繁体中文、英文、德语、西班牙语、法语、日语、韩语、俄语共九种界面语言 |
| ⚙️ 设置 | 统一管理画布、画笔、信号源、文件关联、缓存与日志;支持设置导入导出为 JSON 文件 |
| 层级 | 技术 |
|---|---|
| 前端 | Vanilla HTML5 + CSS3 + JavaScript (ES Module) — 无 bundler、无 Node.js 构建 |
| 后端 | Rust |
| 桌面框架 | Tauri v2 |
| PDF 渲染 | PDF.js |
| Word 转换 | PowerShell COM 互操作 (Office/WPS/LibreOffice) |
| 日志 | simplelog |
项目无需
npm/package.json,前端直接以 ES Module 方式加载。
从 Releases 下载最新安装包(支持 MSI 和 NSIS 安装器),运行即用。
- 操作系统:Windows 10 或更高版本、Linux(x86_64)
- 运行时:WebView2(下载地址)
- 摄像头:用于展台功能(可选)
- 内存:建议 4GB 以上
- 存储:约 100MB(含运行时)
- Microsoft Office / WPS Office / LibreOffice:用于 Word 文档转换
- Rust 稳定版(安装)
- Tauri CLI:
cargo install tauri-cli --locked
# 开发模式
cargo tauri dev
# 生产构建
cargo tauri buildCI 自动构建:推送 v* 标签触发,手动也可在 Actions 页面触发。
本项目采用Apache-2.0 license开源许可证,详见 LICENSE 文件。使用本仓库代码构建的应用也必须开源。
- PDF.js — Mozilla 的 PDF 渲染库
- mammoth.js — Word 文档转为 HTML
- html2canvas — HTML 元素渲染为 Canvas
- image — 图像编解码与处理
- imageproc — 图像处理算法
- serde — 序列化框架
- rayon — 数据并行计算
- chrono — 日期时间库
- reqwest — HTTP 客户端
- winreg — Windows 注册表操作(文件关联)
- simplelog — 日志记录
- tauri-plugin-opener — 文件打开
- tauri-plugin-fs — 文件系统
- tauri-plugin-dialog — 对话框
- tauri-plugin-single-instance — 单实例
感谢所有开源社区的贡献!