115 lines
2.7 KiB
Markdown
115 lines
2.7 KiB
Markdown
# 年糕工具
|
||
|
||
一站式文件处理工具箱,支持 PDF、Word、Excel、图片的格式转换、编辑和处理。
|
||
|
||
## 功能特性
|
||
|
||
### PDF 工具
|
||
- PDF 瘦身(压缩优化)
|
||
- PDF 转图片
|
||
- PDF 转 Word / Excel / HTML / Markdown
|
||
- PDF 提取文本
|
||
- PDF 合并
|
||
- PDF 分割(按页码范围)
|
||
- PDF 旋转
|
||
- PDF 添加水印
|
||
- 文本 / Markdown / HTML 转 PDF
|
||
|
||
### 图片工具
|
||
- 图片格式转换(JPEG / PNG / GIF / BMP / TIFF)
|
||
- 图片压缩(预设:高质量 / 中等 / 小文件 / 极小)
|
||
- 图片调整大小
|
||
- 图片旋转
|
||
- 图片裁剪
|
||
- 灰度处理
|
||
- 亮度 / 对比度 / 饱和度调节
|
||
- 锐化 / 模糊 / 反色
|
||
- 背景去除
|
||
- 图片转 PDF
|
||
|
||
### 其他
|
||
- Word 转 PDF
|
||
- Excel 转 CSV / JSON
|
||
- 运行日志(支持日期筛选)
|
||
|
||
## 技术栈
|
||
|
||
- **后端**: 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
|