Files
openprint/README.md
T
2026-08-12 21:23:02 +08:00

440 lines
88 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<p align="center">
<img src="data:image/png;base64,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" width="120" alt="OpenPrint Logo" />
</p>
<h1 align="center">OpenPrint</h1>
<p align="center">
<strong>开源 Web 打印设计器 · AI 驱动 · 跨平台</strong>
</p>
<p align="center">
<a href="https://github.com/your-repo/open-print/stargazers"><img src="https://img.shields.io/github/stars/your-repo/open-print?style=flat-square&logo=github" alt="Stars" /></a>
<a href="https://github.com/your-repo/open-print/releases"><img src="https://img.shields.io/github/v/release/your-repo/open-print?style=flat-square&logo=github" alt="Release" /></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue?style=flat-square" alt="License" /></a>
<a href="https://vuejs.org/"><img src="https://img.shields.io/badge/Vue_3-4FC08D?style=flat-square&logo=vue.js&logoColor=white" alt="Vue 3" /></a>
<a href="https://www.typescriptlang.org/"><img src="https://img.shields.io/badge/TypeScript-3178C6?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript" /></a>
<a href="https://github.com/fabricjs/fabric.js"><img src="https://img.shields.io/badge/Fabric.js-7.x-blue?style=flat-square" alt="Fabric.js" /></a>
</p>
<p align="center">
<a href="#features">功能特性</a> ·
<a href="#quick-start">快速开始</a> ·
<a href="#ai-assistant">AI 助手</a> ·
<a href="#architecture">架构</a> ·
<a href="#deploy">部署</a> ·
<a href="#faq">FAQ</a>
</p>
<br />
**OpenPrint** 是一款开源、零后端依赖的 Web 打印模板可视化设计器。它让用户通过拖拽即可设计快递面单、发票、标签、报表等打印模板,支持 AI 一句话生成、云打印、C++ 桌面客户端静默打印,3 分钟即可对接 ERP 系统。
> 纯前端架构,无需服务器,无需数据库,一个浏览器即可运行。
![设计器界面](screenshots/designer-overview.png)
*所见即所得的打印模板设计器,拖拽控件、实时预览*
---
## 目录
- [核心亮点](#核心亮点)
- [功能特性](#功能特性)
- [快速开始](#快速开始)
- [AI 助手](#ai-助手)
- [技术架构](#技术架构)
- [项目结构](#项目结构)
- [部署](#部署)
- [桌面客户端](#桌面客户端)
- [ERP 对接](#erp-对接)
- [FAQ](#faq)
- [贡献指南](#贡献指南)
- [许可证](#许可证)
---
## 核心亮点
### 🤖 AI 一句话生成模板
告别手动拖拽,直接描述需求即可生成专业打印模板。支持快递面单、物流标签、仓储单据、零售小票等多种场景。
![AI 助手](screenshots/ai-assistant.png)
*AI 自然语言生成打印模板,一句话完成面单设计*
```
用户输入:"帮我生成一张快递面单,含收件人、寄件人和运单号条码"
AI 输出: 自动创建模板 → 布局文本控件 → 添加条码 → 一键使用
```
### ☁️ 云打印
跨地域多门店远程打印,模板统一管理。浏览器直接打印,免装驱动。云端打印队列,断线自动重试,权限管控,打印日志审计。
![云打印](screenshots/cloud-print.jpg)
*多门店远程打印,模板统一管理,打印队列监控*
### 📊 Web 报表设计
分组表、交叉表、主从表等多级报表结构,支持求和/平均/计数等汇总函数,嵌入柱状图/折线图/饼图,条件格式高亮数据预警,多数据源拼接。
![报表设计](screenshots/report-design.png)
*分组报表、交叉表、图表,满足复杂数据展示需求*
---
## 功能特性
### 设计器
| 功能 | 说明 |
|------|------|
| **控件库** | 文本、图片、矩形、圆形、线条、条码、二维码、表格、富文本、图表 10 种控件 |
| **拖拽设计** | 所见即所得,自由拖拽 + 吸附对齐 + 标尺辅助 |
| **多页支持** | 多页设计,每页独立页眉页脚,页间距可调 |
| **数据绑定** | 支持 JSON / CSV / API 数据源,Mustache 表达式绑定 |
| **主题切换** | 深色/浅色主题,一键切换 |
| **模板管理** | 本地存储,模板导入/导出,模板市场 |
| **实时预览** | 预览数据绑定效果,分页预览 |
| **导出** | PDF / JPG / SVG / HTML 多格式导出 |
### 打印与对接
- **Web 直接打印** — 浏览器调用系统打印对话框
- **桌面静默打印** — 配套 C++ Qt 客户端,零弹窗打印
- **云打印** — 远程门店打印,打印队列管理
- **ERP 对接** — HTTP API 对接,3 分钟接入
### 技术栈
![Vue 3](https://img.shields.io/badge/Vue_3-4FC08D?style=flat-square&logo=vue.js&logoColor=white)
![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=flat-square&logo=typescript&logoColor=white)
![Fabric.js](https://img.shields.io/badge/Fabric.js-7.x-blue?style=flat-square)
![Pinia](https://img.shields.io/badge/Pinia-FFD859?style=flat-square&logo=pinia&logoColor=black)
![Vite](https://img.shields.io/badge/Vite-646CFF?style=flat-square&logo=vite&logoColor=white)
![Vitest](https://img.shields.io/badge/Vitest-6E9F18?style=flat-square&logo=vitest&logoColor=white)
![Naive UI](https://img.shields.io/badge/Naive_UI-2E7D32?style=flat-square)
![UnoCSS](https://img.shields.io/badge/UnoCSS-333333?style=flat-square&logo=unocss&logoColor=white)
---
## 快速开始
### 环境要求
- Node.js >= 22.18.0
- pnpm >= 9.x
### 安装与运行
```bash
# 克隆仓库
git clone https://gitee.com/haiming236/openprint.git
cd open-print
# 安装依赖
pnpm install
# 启动开发服务器
pnpm dev
# 构建生产版本
pnpm build
# 预览生产构建
pnpm preview
```
### 在线演示
访问 [https://openprint.yy360.space](https://openprint.yy360.space) 在线体验设计器。
---
## AI 助手
OpenPrint 内置 AI 助手,支持自然语言生成打印模板。
### 使用方式
1. **新建模板** — 输入需求描述,AI 自动生成完整模板
2. **修改当前模板** — 选中控件,让 AI 调整布局或样式
3. **字段接地** — 自动识别数据字段并绑定到模板控件
### 技术原理
- 基于 LLM 解析用户意图,输出结构化模板描述
- 内部规范引擎将描述转换为 Fabric.js 控件配置
- 支持上下文感知,可在已有模板上增量修改
### 支持的场景
- 快递面单(顺丰、京东、邮政等格式)
- 物流标签(运单号、目的地、重量)
- 仓储单据(入库单、出库单、盘点单)
- 零售小票(收银小票、退换货单)
- 发票(增值税发票、收据)
- 自定义报表
---
## 技术架构
```
┌─────────────────────────────────────────────────────────────────┐
│ 浏览器(Vue 3 SPA
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌───────────────┐ │
│ │ 控制面板 │ │ 属性面板 │ │ 图层面板 │ │ 数据源面板 │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └──────┬────────┘ │
│ └──────────────┴─────────────┴───────────────┘ │
│ │ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Fabric.js Canvas │ │
│ │ 文本 │ 图片 │ 条码 │ 二维码 │ 表格 │ 图表 │ 矩形 │ 圆形 │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ 排版引擎 (Layout Engine) │ │
│ │ 数据绑定 │ 表达式计算 │ 分页引擎 │ 表格引擎 │ 分组引擎 │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ 渲染引擎 (Renderer) │ │
│ │ HTML渲染 │ PDF导出 │ JPG导出 │ SVG导出 │ 头部渲染 │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
┌────────┴────────┐
▼ ▼
┌──────────────┐ ┌──────────────┐
│ C++ Qt 客户端 │ │ 云打印服务 │
│ 静默打印 │ │ 远程打印 │
│ 本地打印机 │ │ 队列管理 │
└──────────────┘ └──────────────┘
```
### 核心模块
| 模块 | 路径 | 说明 |
|------|------|------|
| **设计器** | `src/design/` | Canvas 设计器、控件系统、面板、工具栏 |
| **排版引擎** | `src/core/layout-engine/` | 数据绑定、分页、表格、分组、表达式 |
| **渲染引擎** | `src/core/renderer-html/` | HTML 渲染、CSS 生成、富文本渲染 |
| **导出引擎** | `src/core/export-engine/` | PDF、JPG、SVG 导出 |
| **AI 助手** | `src/ai/` | AI 生成模板、上下文管理 |
| **控件库** | `src/design/canvas/controls/` | 10 种 Fabric.js 控件 |
---
## 项目结构
```
open-print/
├── src/
│ ├── ai/ # AI 助手(生成/规范化/客户端)
│ ├── core/ # 核心引擎
│ │ ├── layout-engine/ # 排版引擎(数据绑定/分页/表格/分组)
│ │ ├── renderer-html/ # HTML 渲染器
│ │ ├── export-engine/ # 导出引擎(PDF/JPG/SVG
│ │ ├── chartkit/ # 图表渲染(柱状图/折线图/饼图)
│ │ ├── fonts/ # 字体加载与管理
│ │ ├── headless/ # 无头渲染
│ │ ├── spec/ # 模板规范与校验
│ │ └── sdk/ # SDK 封装
│ ├── design/ # 设计器界面
│ │ ├── canvas/ # Canvas 画布 & 控件
│ │ ├── panels/ # 属性/图层/数据源面板
│ │ ├── preview/ # 预览面板
│ │ ├── toolbar/ # 顶部工具栏
│ │ ├── modals/ # 模态框(导入/导出/设置)
│ │ └── stores/ # Pinia 状态管理
│ ├── repository/ # 数据仓库(本地/HTTP/模拟)
│ ├── types/ # TypeScript 类型定义
│ ├── config/ # 配置(打印设置/AI 设置)
│ ├── theme/ # 主题系统
│ └── utils/ # 工具函数
├── website/ # 宣传官网
├── dist/ # 构建输出
├── public/ # 静态资源
└── docs/ # 文档
```
---
## 部署
### 静态部署
构建产物为纯静态文件,可部署到任何 HTTP 服务器:
```bash
pnpm build
# 将 dist/ 目录部署到 Nginx / Apache / Vercel / Netlify 等
```
### Nginx 配置示例
```nginx
server {
listen 80;
server_name your-domain.com;
root /path/to/open-print/dist;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
```
### Docker 部署
```dockerfile
FROM nginx:alpine
COPY dist/ /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
```
---
## 桌面客户端
OpenPrint 提供配套的 **C++ Qt 桌面打印客户端**,支持:
- **静默打印** — 接收设计器模板,直接发送到本地打印机,零弹窗
- **批量打印** — 支持 CSV/JSON 数据批量渲染与打印
- **本地打印机管理** — 获取打印机列表、状态监控
- **HTTP 接口** — 通过 REST API 接收打印任务
- **跨平台** — Windows / Linux / macOS
![桌面客户端](screenshots/desktop-client.jpg)
*C++ Qt 桌面客户端,静默打印,批量处理*
### 技术栈
![C++](https://img.shields.io/badge/C++-17-00599C?style=flat-square&logo=cplusplus&logoColor=white)
![Qt](https://img.shields.io/badge/Qt-6.x-41CD52?style=flat-square&logo=qt&logoColor=white)
![CMake](https://img.shields.io/badge/CMake-064F8C?style=flat-square&logo=cmake&logoColor=white)
---
## ERP 对接
OpenPrint 提供标准 HTTP API3 分钟即可完成 ERP 对接:
### 对接流程
1. **设计模板** — 在 Web 设计器中拖拽生成打印模板
2. **导出模板文件** — 导出 `.json` 模板文件
3. **API 对接** — ERP 系统通过 HTTP 推送数据 + 模板 ID,触发打印
![ERP 对接](screenshots/erp-integration.jpg)
*标准 HTTP API 对接,3 分钟接入 ERP 系统*
### API 示例
```http
POST /api/print
Content-Type: application/json
{
"template_id": "waybill-001",
"data": {
"sender_name": "张三",
"sender_phone": "13800138000",
"receiver_name": "李四",
"receiver_address": "北京市朝阳区..."
},
"printer": "local-printer-01",
"copies": 1
}
```
---
## FAQ
### OpenPrint 需要后端服务吗?
不需要。OpenPrint 是纯前端应用,零后端依赖。模板存储在浏览器本地(IndexedDB),AI 功能通过直接调用 LLM API 实现。如需对接打印机或 ERP,可部署可选的桌面客户端。
### 支持哪些浏览器?
Chrome / Edge / Firefox / Safari 等现代浏览器。推荐使用 Chromium 内核浏览器以获得最佳体验。
### 如何自定义字体?
将字体文件(`.ttf` / `.woff2`)放入 `public/fonts/` 目录,并在 `src/core/fonts/catalog.ts` 中注册即可。
### 支持批量打印吗?
支持。通过 CSV/JSON 数据源 + 模板引擎,可批量生成多页文档并导出或打印。桌面客户端支持批量静默打印。
### 如何导出模板与他人分享?
使用模板导出功能导出 `.json` 文件,其他人可通过导入功能加载使用。也支持 URL 编码分享(零后端)。
---
## 贡献指南
欢迎贡献代码、提交 Issue 或建议!
### 开发流程
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/amazing-feature`)
3. 提交更改 (`git commit -m 'feat: add amazing feature'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 提交 Pull Request
### 提交规范
本项目使用 [Conventional Commits](https://www.conventionalcommits.org/) 规范:
- `feat:` 新功能
- `fix:` 修复
- `docs:` 文档变更
- `refactor:` 重构
- `test:` 测试
- `chore:` 构建/工具变更
### 开发命令
```bash
# 运行测试
pnpm vitest
# 类型检查
pnpm type-check
# 格式化代码
pnpm format
# 代码覆盖率
pnpm vitest --coverage
```
---
## 许可证
[GPL3.0 License](LICENSE)
Copyright (c) 2025 OpenPrint
---
<p align="center">
<b>OpenPrint</b> — 让打印变得简单高效
</p>
<p align="center">
<a href="https://github.com/haiming236/openprint">GitHub</a> ·
<a href="https://gitee.com/haiming236/openprint">Gitee</a> ·
<a href="https://openprint.yy360.space">在线演示</a>
</p>