Skip to content

这是一个基于 [Next.js](https://nextjs.org) 开发的照片打印排版工具,帮助用户轻松实现照片在不同尺寸打印纸张上的智能排版。

License

Notifications You must be signed in to change notification settings

sichang824/pphoto

Repository files navigation

照片打印排版工具

这是一个基于 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 - 轻量级状态管理

使用说明

  1. 选择打印纸张尺寸
  2. 上传需要打印的照片
  3. 设置照片尺寸和数量
  4. 调整边距和间距(可选)
  5. 查看预览效果
  6. 导出打印方案

开发

本项目使用 TypeScript 开发,确保类型安全。修改 src/componentssrc/store 中的文件进行功能开发。

部署

推荐使用 Vercel 平台 进行部署。

贡献指南

欢迎提交 Issue 和 Pull Request 来帮助改进这个工具。

许可证

本项目采用自定义许可证。允许个人免费使用,但禁止商业用途。详细条款请查看 LICENSE 文件。

主要条款:

  • ✅ 允许个人免费使用
  • ✅ 允许用于学习目的
  • ✅ 允许修改和分发
  • ❌ 禁止商业使用

About

这是一个基于 [Next.js](https://nextjs.org) 开发的照片打印排版工具,帮助用户轻松实现照片在不同尺寸打印纸张上的智能排版。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published