设计一次,导入 CSV,批量生成中文 PDF。
纸舟是我做的一款本地优先 PDF 工具。它解决的问题很具体:同一类报价单、证书或标签,只是数据不同,就不该每次都重新复制、排版和检查。
模板设计一次,之后换数据就够了。
不用注册,也不需要先配置数据库或第三方服务。
| 能力 | 当前实现 |
|---|---|
| 可视化设计 | 文字、图片、表格、二维码、签名和形状 |
| 中文模板 | 报价单、结业证书、发货标签 |
| 批量生成 | 一行 CSV 对应一页,输出单个多页 PDF |
| 模板保存 | 浏览器本地保存,支持 JSON 导入与导出 |
| 中文字体 | 内置 Noto Sans CJK,不依赖在线字体服务 |
| 数据处理 | 模板编辑、CSV 解析和 PDF 生成均在浏览器内完成 |
![]() |
![]() |
| 拖拽调整模板与字段 | 粘贴 CSV,批量生成 PDF |
- 每次只替换客户、价格和日期的报价单
- 一次生成几十或几百份的证书
- 来自表格数据的发货标签、物料标签
- 字段结构固定、内容反复变化的通知书
如果你的文档每一份布局都完全不同,纸舟目前并不适合;它更擅长“模板固定、数据变化”的任务。
- 当前版本没有账号、埋点或纸舟后端服务。
- 模板默认保存在浏览器的
localStorage中。 - 清除浏览器站点数据会同时清除本地修改。
- 重要模板建议使用“导出模板”保存一份 JSON 备份。
- 从 Releases 下载 ZIP 并解压。
- 安装 Node.js 20.19 或更高版本。
- 双击
启动纸舟Studio.cmd。
本地版当前仍依赖 Node.js,这是 Beta 阶段的一个已知限制。想直接体验的话,推荐先使用在线版。
git clone https://github.com/Zhang-YLong/paperflow-studio.git
cd paperflow-studio
npm ci
npm run dev提交前运行:
npm test
npm run build更详细的提交方式见 CONTRIBUTING.md。
纸舟还在早期,我会优先处理真实使用中遇到的问题:
- 遇到错误:提交 Bug 报告
- 想要新能力:提交 功能建议
- 想聊具体场景:前往 Discussions
能复现的步骤、浏览器版本和脱敏后的示例,比一句“不能用”更容易定位。
如果纸舟刚好帮你省下了一些重复操作,欢迎给这个仓库一个 Star。它会让我知道这个方向值得继续,也方便你以后回来找到它。
纸舟 Studio 使用 MIT License。
PDF 相关能力基于 pdfme 6.1.12,中文字体为 Noto Sans CJK。对应的版权和许可证文本保存在 THIRD_PARTY_NOTICES.md 与 LICENSES。


