这是一个基于 Next.js 开发的照片打印排版工具,帮助用户轻松实现照片在不同尺寸打印纸张上的智能排版。
- 支持多种照片尺寸输入(例如:1寸、2寸、证件照等)
- 支持多种打印纸张规格(A4、A3等)
- 智能排版预览:实时查看照片在纸张上的排列效果
- 自动优化排版:最大化利用纸张空间,减少浪费
- 支持自定义边距和间距设置
- 支持批量选择图片
- 双面打印,自动翻转(需要打印机支持)
- 支持PDF导出,默认为纸张尺寸
- 明信片模式,双面自动排版,可以选择多种样式
- 模板保存和导出
安装依赖:
bun install
启动开发服务器:
bun dev
访问 http://localhost:3000 开始使用工具。
src/
├── components/
│ └── Preview.tsx # 排版预览组件
├── store/
│ └── previewStore.ts # 排版状态管理
└── ...
- Next.js - React 框架
- Bun - 现代 JavaScript 运行时和包管理器
- TypeScript - 提供类型安全
- Canvas API - 实现照片排版预览
- Zustand - 轻量级状态管理
- 选择打印纸张尺寸
- 上传需要打印的照片
- 设置照片尺寸和数量
- 调整边距和间距(可选)
- 查看预览效果
- 导出打印方案
本项目使用 TypeScript 开发,确保类型安全。修改 src/components
和 src/store
中的文件进行功能开发。
推荐使用 Vercel 平台 进行部署。
欢迎提交 Issue 和 Pull Request 来帮助改进这个工具。
本项目采用自定义许可证。允许个人免费使用,但禁止商业用途。详细条款请查看 LICENSE 文件。
主要条款:
- ✅ 允许个人免费使用
- ✅ 允许用于学习目的
- ✅ 允许修改和分发
- ❌ 禁止商业使用