Files
file-tool-wails/README.md
2026-06-23 15:33:22 +08:00

115 lines
2.7 KiB
Markdown
Raw Permalink 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.
# 年糕工具
一站式文件处理工具箱,支持 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 # 文件处理 handlerIPC 接口)
├── 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