---
name: psd-batch-export
description: 'PSD批量修改导出 — 任何PSD+任何Excel → 自动替换文本图层 → 批量输出PNG。通用：支持任意PSD模板、自动匹配列名、自动检测字号颜色。触发词：PSD批量、门票生成、批量导出、Excel PSD、文本替换、观赛登记、证书批量、psd批量修改导出。'
argument-hint: '[Excel路径] [PSD模板路径] [输出目录]'
---

# PSD 批量修改导出

通用 PSD 批量导出工具。任何 PSD + 任何 Excel → 一键 PNG。

## 安装

```bash
# 方式一：ClawHub 安装（推荐）
clawhub install luis1213899/psd-batch-export

# 方式二：解压 ZIP 到任意目录，进入 scripts/ 运行
cd psd-batch-export/scripts/
python batch_from_excel.py 名单.xlsx 模板.psd output/
```

## 快速开始

```bash
# 预览
python batch_from_excel.py 名单.xlsx 模板.psd --dry-run

# 导出
python batch_from_excel.py 名单.xlsx 模板.psd output/ --color 0 0 0 --size 54
```
python batch_from_excel.py 名单.xlsx 模板.psd output/ --cols 姓名,学校,赛区
```

## 流程

Excel + PSD → [batch_from_excel] → 批量PSD → 批量PNG(300DPI)

## 三个脚本

| 脚本 | 用途 |
|------|------|
| [batch_from_excel.py](./scripts/batch_from_excel.py) | 一键流程 |
| [psd_text_editor.py](./scripts/psd_text_editor.py) | PSD文本二进制修改 |
| [render_psd_batch.py](./scripts/render_psd_batch.py) | PSD→PNG渲染 |

## 参数

| 参数 | 说明 | 默认 |
|------|------|------|
| `--font` | 字体路径 | 系统黑体 |
| `--color R G B` | 文字颜色 | PSD原色 |
| `--size N` | 字号 | PSD原字号 |
| `--align` | 对齐 | center |
| `--dpi` | 输出DPI | 300 |
| `--cols` | 列映射 | 自动匹配 |

## 自动列匹配

1. 精确包含匹配
2. 同义词：名字↔姓名、学校↔school、赛区↔division
3. 按 PSD 图层顺序对应 Excel 列顺序

## 字体

字体合集：[百度网盘](https://pan.baidu.com/s/16mr469ucSXcNpm-6GD_QeA) 提取码 `kxrv`

下载后解压到 [fonts/](./fonts/) 目录即可自动生效。

```bash
# 或使用自动下载
python fonts/download_fonts.py --all
```

## 限制

- 新文本字节数 ≤ 原文字节数（超出自动截断）
- 依赖: `psd-tools`, `Pillow`, `pandas`, `openpyxl`
