2026-06-23 15:33:22 +08:00
|
|
|
|
# 年糕工具
|
2026-06-11 15:46:19 +08:00
|
|
|
|
|
2026-06-23 15:33:22 +08:00
|
|
|
|
一站式文件处理工具箱,支持 PDF、Word、Excel、图片的格式转换、编辑和处理。
|
2026-06-11 15:46:19 +08:00
|
|
|
|
|
2026-06-23 15:33:22 +08:00
|
|
|
|
## 功能特性
|
2026-06-11 15:46:19 +08:00
|
|
|
|
|
2026-06-23 15:33:22 +08:00
|
|
|
|
### PDF 工具
|
|
|
|
|
|
- PDF 瘦身(压缩优化)
|
|
|
|
|
|
- PDF 转图片
|
|
|
|
|
|
- PDF 转 Word / Excel / HTML / Markdown
|
|
|
|
|
|
- PDF 提取文本
|
|
|
|
|
|
- PDF 合并
|
|
|
|
|
|
- PDF 分割(按页码范围)
|
|
|
|
|
|
- PDF 旋转
|
|
|
|
|
|
- PDF 添加水印
|
|
|
|
|
|
- 文本 / Markdown / HTML 转 PDF
|
2026-06-11 15:46:19 +08:00
|
|
|
|
|
2026-06-23 15:33:22 +08:00
|
|
|
|
### 图片工具
|
|
|
|
|
|
- 图片格式转换(JPEG / PNG / GIF / BMP / TIFF)
|
|
|
|
|
|
- 图片压缩(预设:高质量 / 中等 / 小文件 / 极小)
|
|
|
|
|
|
- 图片调整大小
|
|
|
|
|
|
- 图片旋转
|
|
|
|
|
|
- 图片裁剪
|
|
|
|
|
|
- 灰度处理
|
|
|
|
|
|
- 亮度 / 对比度 / 饱和度调节
|
|
|
|
|
|
- 锐化 / 模糊 / 反色
|
|
|
|
|
|
- 背景去除
|
|
|
|
|
|
- 图片转 PDF
|
2026-06-11 15:46:19 +08:00
|
|
|
|
|
2026-06-23 15:33:22 +08:00
|
|
|
|
### 其他
|
|
|
|
|
|
- Word 转 PDF
|
|
|
|
|
|
- Excel 转 CSV / JSON
|
|
|
|
|
|
- 运行日志(支持日期筛选)
|
2026-06-11 15:46:19 +08:00
|
|
|
|
|
2026-06-23 15:33:22 +08:00
|
|
|
|
## 技术栈
|
2026-06-11 15:46:19 +08:00
|
|
|
|
|
2026-06-23 15:33:22 +08:00
|
|
|
|
- **后端**: Go + Wails v2
|
|
|
|
|
|
- **前端**: Vue 3 + Element Plus + Vite
|
|
|
|
|
|
- **PDF 处理**: pdfcpu(纯 Go)
|
|
|
|
|
|
- **图片处理**: imaging
|
|
|
|
|
|
- **文本渲染**: gopdf
|
|
|
|
|
|
|
|
|
|
|
|
## 开发环境
|
|
|
|
|
|
|
|
|
|
|
|
### 前置条件
|
|
|
|
|
|
|
|
|
|
|
|
- Go 1.25+
|
|
|
|
|
|
- Node.js
|
|
|
|
|
|
- Wails CLI: `go install github.com/wailsapp/wails/v2/cmd/wails@latest`
|
|
|
|
|
|
|
|
|
|
|
|
### 开发模式
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
wails dev
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 打包构建
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
.\build.ps1
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
构建产物位于 `build\bin\年糕工具.exe`(单文件,MuPDF DLL 已嵌入)。
|
|
|
|
|
|
|
|
|
|
|
|
### 手动构建
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
# 1. 生成绑定(nofitz 避免 DLL 依赖检查)
|
|
|
|
|
|
wails build -tags nofitz
|
|
|
|
|
|
|
|
|
|
|
|
# 2. 复制 DLL 到构建目录(嵌入用)
|
|
|
|
|
|
Copy-Item public\MuPDFLib.dll build\bin\libmupdf.dll
|
|
|
|
|
|
|
|
|
|
|
|
# 3. 最终构建(skipbindings 跳过重新生成)
|
|
|
|
|
|
wails build -skipbindings
|
|
|
|
|
|
|
|
|
|
|
|
# 4. 重命名
|
|
|
|
|
|
Copy-Item build\bin\xk.exe "build\bin\年糕工具.exe"
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 项目结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
├── main.go # 应用入口
|
|
|
|
|
|
├── app.go # App 生命周期
|
|
|
|
|
|
├── handlers.go # 文件处理 handler(IPC 接口)
|
|
|
|
|
|
├── services/
|
|
|
|
|
|
│ ├── pdf_service.go # PDF 处理(pdfcpu)
|
|
|
|
|
|
│ ├── image_service.go # 图片处理(imaging)
|
|
|
|
|
|
│ ├── word_service.go # Word 处理
|
|
|
|
|
|
│ └── excel_service.go # Excel 处理
|
|
|
|
|
|
├── frontend/src/
|
|
|
|
|
|
│ ├── App.vue # 根组件
|
|
|
|
|
|
│ ├── components/
|
|
|
|
|
|
│ │ ├── ToolView.vue # 工具主页面
|
|
|
|
|
|
│ │ ├── HomeView.vue # 首页
|
|
|
|
|
|
│ │ ├── SettingsView.vue # 设置 + 日志查看
|
|
|
|
|
|
│ │ ├── image/ # 图片工具组件
|
|
|
|
|
|
│ │ └── pdf/ # PDF 工具组件
|
|
|
|
|
|
│ └── router/index.js # 路由配置
|
|
|
|
|
|
├── public/
|
|
|
|
|
|
│ └── MuPDFLib.dll # MuPDF 库(嵌入到 exe)
|
|
|
|
|
|
└── build.ps1 # 构建脚本
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 日志
|
|
|
|
|
|
|
|
|
|
|
|
运行日志存储在 exe 同级 `logs/` 目录下,按日期分文件(`YYYY-MM-DD.log`)。
|
|
|
|
|
|
|
|
|
|
|
|
可在设置页面查看日志并按日期筛选。
|
|
|
|
|
|
|
|
|
|
|
|
## 许可证
|
|
|
|
|
|
|
|
|
|
|
|
MIT
|