这是一个Python脚本,用于读取PSD模板并将电子表格中的内容应用于模板,导出大量图像,替代Photoshop的变量定义功能。
📺 示例:从PSD模板创建Excel文件
create_xlsx.mp4
📺 示例:手动批量出图
batch_export.mp4
📺 示例:监控Excel文件变化自动出图
auto_export.mp4
在Photoshop你得这么干:
- 在电子表格中编辑内容。
- 将电子表格保存为CSV文件。
- 在Photoshop中定义图层变量。
- 导入CSV文件。
- 导出数据组为文件,导出的都是.psd文件。
- 创建批处理将PSD保存为JPG或PNG。
- 使用批处理输出最终图像。
用我的Python脚本,你只需要:
- 在电子表格中编辑内容。
- 运行batch_export.py。
就这么简单,图就都出来了。你只需要有Python环境,装几个Python包。
有两种下载方式:
git clone https://github.com/greenzorro/excel-ps-batch-export.git
- 点击Code按钮,然后Download ZIP
首次使用需要一些基本设置:
- 将PSD模板文件放在此处。
- 编辑PSD模板文件,按以下模式重命名所有可变图层或组:
- 格式:
@Variable_name#Operation_Parameter
- 图层名称示例:
@badge#v
、@description#t_p
、@bg#i
@
表示该图层是可变的,脚本将从电子表格中获取内容。Variable_name
应出现在电子表格的列标题中。#Operation_Parameter
告诉脚本对图层做什么操作。#v
根据电子表格中的TRUE/FALSE设置可见性。#t
用电子表格数据替换文本图层内容,参数包括:- 默认左上对齐
_c
水平居中对齐_r
水平右对齐_p
段落文本换行,在PSD中至少填满一行文本_pm
垂直居中对齐_pb
垂直底部对齐- 这些参数可以组合使用,如
#t_c_p
、#t_r_pb
- PSD里设置的对齐方向对结果没有影响,程序只认文件名
#i
用电子表格中的路径对应的图片填充图片图层。- 注意:请勿使用cmd/ctrl+T缩放可变文本图层。只能通过字体大小属性调整其尺寸,否则脚本将从PSD文件中获取错误的字号。如果已经这么做了,请创建新的文本图层替换它们。
- 格式:
- 运行
create_xlsx.py
。你的XLSX文件就创建完成了,所有的列都已准备好。 - 编辑XLSX文件。Python脚本默认读取第一张工作表,把你的数据放在这。也可以将数据放在另一张工作表中,并在第一张工作表中使用Excel公式读取和计算,特别适合切换图层可见性。请勿删除第一列
File_name
,留空会使用默认文件名格式(如image_1, image_2等)。 - 将模板所需的其他文件放入
assets
文件夹,包括字体、背景图像等。确保图片资源的路径与电子表格中的数据匹配。
看起来非常复杂?相信我,用Photoshop做同样的事情要复杂得多。一旦设置完成,这将是你的救星。
导出时,事情无比简单:
- 在电子表格中粘贴内容。
- 运行batch_export.py。
我甚至写了另一个脚本监控电子表格,并在电子表格修改后自动导出图像。
pip install pillow pandas openpyxl psd-tools
特别感谢 psd-tools 提供强大的API,使我能够结合Photoshop的图像编辑能力,同时发挥Excel/Python在数据处理方面的优势。