{"id":50928793,"url":"https://github.com/siuserxiaowei/psd-batch-tool","last_synced_at":"2026-06-17T02:03:02.918Z","repository":{"id":354232357,"uuid":"1222741196","full_name":"siuserxiaowei/psd-batch-tool","owner":"siuserxiaowei","description":"PSD 批处理工具：面向设计素材自动化、图片工作流和批量处理。 | PSD batch tool for design automation, image workflows, and bulk processing.","archived":false,"fork":false,"pushed_at":"2026-06-15T09:43:03.000Z","size":1410,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-15T11:51:58.354Z","etag":null,"topics":["batch-processing","poster-generator","psd","react","vite"],"latest_commit_sha":null,"homepage":"https://siuserxiaowei.github.io/psd-batch-tool/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/siuserxiaowei.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-27T16:59:08.000Z","updated_at":"2026-06-15T09:43:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/siuserxiaowei/psd-batch-tool","commit_stats":null,"previous_names":["siuserxiaowei/psd-batch-tool"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/siuserxiaowei/psd-batch-tool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siuserxiaowei%2Fpsd-batch-tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siuserxiaowei%2Fpsd-batch-tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siuserxiaowei%2Fpsd-batch-tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siuserxiaowei%2Fpsd-batch-tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/siuserxiaowei","download_url":"https://codeload.github.com/siuserxiaowei/psd-batch-tool/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siuserxiaowei%2Fpsd-batch-tool/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34430690,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["batch-processing","poster-generator","psd","react","vite"],"created_at":"2026-06-17T02:03:01.617Z","updated_at":"2026-06-17T02:03:02.899Z","avatar_url":"https://github.com/siuserxiaowei.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PSD 批量换图工作台\n\n\u003c!-- SIUSER-REPO-GUIDE:START --\u003e\n## Repository Guide\n\n### What This Repository Does\n\nPSD 批处理工具：面向设计素材自动化、图片工作流和批量处理。\n\nEnglish summary: PSD batch tool for design automation, image workflows, and bulk processing.\n\n### Online Entry Points\n\n- GitHub repository: https://github.com/siuserxiaowei/psd-batch-tool\n- Live / GitHub Pages: https://siuserxiaowei.github.io/psd-batch-tool/\n- Default branch: `main`\n- Primary language: `TypeScript`\n- Topics: `batch-processing`, `poster-generator`, `psd`, `react`, `vite`\n\n### How To Read / Learn This Repository\n\n1. 先读本 README，确认项目目标、在线入口和本地运行方式。\n2. 打开上方 Live / GitHub Pages 链接，先从最终效果理解项目。\n3. 查看 `package.json` 的 scripts，确认开发、构建和预览命令。\n4. 如果要修改内容，先小范围改动，再运行本 README 中的验证命令。\n\n### Clone This Repository\n\n```bash\ngit clone https://github.com/siuserxiaowei/psd-batch-tool.git\ncd psd-batch-tool\n```\n\n### Run Or View Locally\n\n```bash\nnpm install\nnpm run dev\nnpm run build\n```\n\n### Repository Map\n\n| Path | Purpose |\n| --- | --- |\n| `README.md` | 项目入口说明，先读这里。 |\n| `package.json` | Node/前端项目配置和常用脚本。 |\n| `index.html` | 静态站首页或页面入口。 |\n| `src/` | 主要源码目录。 |\n| `public/` | 公开静态资源。 |\n| `docs/` | 文档或 GitHub Pages 输出目录。 |\n| `.github/` | GitHub Actions、Issue/PR 模板等自动化配置。 |\n| `eslint.config.js` | 项目文件。 |\n| `package-lock.json` | 项目文件。 |\n| `tsconfig.app.json` | 项目文件。 |\n| `tsconfig.json` | 项目文件。 |\n| `tsconfig.node.json` | 项目文件。 |\n\n### Maintenance Notes\n\n- Keep this README in sync when the project purpose, live link, or run commands change.\n- Prefer small, focused commits when changing code, data, or generated pages.\n- Run the relevant build or validation command before publishing changes.\n- If this is a generated/static archive, update the source data first, then regenerate the public files.\n\n### Privacy And Safety\n\n- Do not commit API keys, tokens, passwords, cookies, private URLs, or internal account data.\n- Keep private source material out of public GitHub Pages output unless it has been explicitly cleared for publication.\n- When in doubt, run a quick secret scan such as `rg -n \"token|secret|password|access_key|authorization\"` before pushing.\n\u003c!-- SIUSER-REPO-GUIDE:END --\u003e\n\n\u003c!-- SIUSER-SEO-INTRO:START --\u003e\n\n## 项目介绍 / Project Introduction\n\n**中文介绍**：PSD 批处理工具，用于图片素材、设计文件和内容生产流程中的批量处理与自动化。\n\n**English**: A PSD batch processing tool for automating image assets, design files, and content production workflows.\n\n**SEO 关键词 / SEO Keywords**: PSD, batch processing, design automation, image workflow, 设计自动化\n\n\u003c!-- SIUSER-SEO-INTRO:END --\u003e\n\n一个给设计师和运营同学试用的 PSD 海报批量生成原型。它的目标很简单：保留设计师在 Photoshop 里的模板工作流，把重复出图这一步变成网页里的几次点击。\n\n给设计师看的操作文档：[PSD 批量换图工作台使用说明](./docs/usage.md)\n\n## 适合解决什么问题\n\n- 一套海报版式，需要批量替换商品图、人物图、二维码或活动主图。\n- 同一个价格角标、标签、姓名、标题等文字区域，需要按表格逐行替换。\n- 设计师习惯先在 PS 里做好模板，不想重新学习复杂的设计工具。\n- 运营同学只需要准备图片和表格，就可以导出一批 PNG 成品。\n\n## 当前功能\n\n- 导入 PSD 文件并读取图层。\n- 自动优先识别带 `_替换`、`换图`、`replace` 等命名的图层。\n- 从 PSD 图层里选择可替换槽位，并可保存当前 PSD 的槽位配置。\n- 支持图片槽位：铺满、完整显示、拉伸三种模式。\n- 支持图片裁切：矩形、圆角、圆形，适合 Logo、头像、二维码。\n- 支持文字槽位：按表格内容替换，支持字号、颜色、字体、对齐，并自动缩小避免溢出。\n- 支持上传 TTF / OTF / WOFF / WOFF2 字体文件。\n- 支持 CSV / XLSX 数据表。\n- 支持批量图片上传。\n- 自动提示表格缺字段、图片文件名匹配不上等问题。\n- 实时预览每一行生成结果。\n- 一键导出 PNG 压缩包。\n- 内置样例和测试数据，方便快速体验。\n\n## 推荐的 PS 模板命名方式\n\n为了让工具更好识别，建议把要替换的图层命名得直白一点：\n\n```text\n商品图_替换\nLogo_替换\n价格_替换\n角标文案_替换\n姓名_替换\n二维码_替换\n```\n\n如果是黄色价格牌这类区域，建议拆成多个图层：\n\n```text\n黄色价格底框      固定不替换\n角标文案_替换    表格列名：角标文案\n价格_替换        表格列名：价格\n```\n\n表格示例：\n\n```csv\n页面名称,姓名,Logo,商品图,角标文案,价格\n张三_新人价,张三,logo-a.png,product-a.png,新人价,¥129\n李四_会员价,李四,logo-b.png,product-b.png,会员价,¥159\n王五_限时价,王五,logo-c.png,product-c-wide.png,限时价,¥199\n```\n\n如果要按行切换字体，可以增加全局字体列，或者给某个文字槽位单独指定字体：\n\n```csv\n页面名称,姓名,字体:姓名\n张三卡片,张三,BrandFont.otf\n李四卡片,李四,Songti SC\n```\n\n## 设计师试用流程\n\n1. 打开页面后，先点「测试」看内置样例。\n2. 上传自己的 PSD 模板。\n3. 在「PSD 图层」里点选需要替换的图层。\n4. 在「替换槽位」里确认槽位类型是「图片」还是「文字」。\n5. 给图片槽位选择裁切方式，给文字槽位调整字号、颜色、字体、对齐。\n6. 上传图片素材和可选字体。\n7. 上传 CSV 或 XLSX 表格。\n8. 查看数据匹配提醒，修正缺图或列名不一致的问题。\n9. 翻页预览不同成品。\n10. 点击「导出 PNG 包」。\n\n## 本地开发\n\n```bash\nnpm install\nnpm run dev\n```\n\n常用检查：\n\n```bash\nnpm run lint\nnpm run build\n```\n\n## 技术栈\n\n- React + TypeScript + Vite\n- ag-psd：读取 PSD 图层\n- JSZip：生成批量导出压缩包\n- read-excel-file：读取 XLSX 表格\n- lucide-react：界面图标\n\n## 当前原型限制\n\n- 目前导出格式是 PNG。\n- PSD 的复杂效果、智能对象和部分高级混合效果可能无法完全还原。\n- 文字渲染使用浏览器字体，和 Photoshop 字体可能存在细微差异。\n- 更适合验证「批量替换和出图流程」是否顺手，后续再补更完整的 PSD 兼容性。\n\n\u003c!-- SIUSER-CONTACT:START --\u003e\n\n## 联系我 / Contact\n\n想交流 AI 工具、内容自动化、SEO、私域增长或项目合作，可以扫码加我微信。\n\nFor collaboration on AI tools, content automation, SEO, private-domain growth, or product experiments, scan the WeChat QR code below.\n\n\u003cimg src=\"https://raw.githubusercontent.com/siuserxiaowei/siuserxiaowei/main/assets/contact/wechat-qrcode.jpg\" width=\"180\" alt=\"WeChat QR code / 微信二维码\" /\u003e\n\n**关键词 / Keywords**: PSD, batch processing, design automation, image workflow, AI tools, AI automation, GitHub Pages, SEO\n\n\u003c!-- SIUSER-CONTACT:END --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiuserxiaowei%2Fpsd-batch-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsiuserxiaowei%2Fpsd-batch-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiuserxiaowei%2Fpsd-batch-tool/lists"}