617760a319d94ef12b1fe2040564743483b659fd
年糕工具
一站式文件处理工具箱,支持 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
开发模式
wails dev
打包构建
.\build.ps1
构建产物位于 build\bin\年糕工具.exe(单文件,MuPDF DLL 已嵌入)。
手动构建
# 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
Description
Languages
Vue
64.9%
Go
22.1%
JavaScript
5.2%
NSIS
3.7%
CSS
1.9%
Other
2.1%