三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

把一小时的图层导出压到几分钟:Photoshop 图层批量导出脚本实操手记

把一小时的图层导出压到几分钟:Photoshop 图层批量导出脚本实操手记

把一小时的图层导出压到几分钟:Photoshop 图层批量导出脚本实操手记

【免费下载链接】Photoshop-Export-Layers-to-Files-FastThis script allows you to export your layers as individual files at a speed much faster than the built-in script from Adobe.项目地址: https://gitcode.com/gh_mirrors/ph/Photoshop-Export-Layers-to-Files-Fast

周四晚上十一点,设计师阿杰还在等 Photoshop 内置的导出脚本跑完最后 30 个图层——他刚接的图标需求有一百多个图层,按老办法得熬到后半夜。后来他换用了 Photoshop-Export-Layers-to-Files-Fast,一个开源的图层批量导出脚本,同一批图层几分钟内全部落地,他终于赶上了末班车。

这篇手记按我自己的使用顺序展开:先讲这个脚本到底比内置方案快在哪,再讲安装时最容易踩的坑,然后带你读一遍导出对话框、玩透命名规则,最后记录三种真实导出需求的调参过程,以及怎么把它变成一键批处理。

一、先从一次真实的导出说起:慢在哪,快在哪

用 Adobe 内置的 Export Layers To Files 导出几十个图层时,你大概率经历过这样的循环:点一次运行,看着进度条一格一格爬,每个图层都要在画布上重新计算一遍,遇到智能对象还会更卡。图层越多,等待时间越呈线性增长,而你的注意力却在不断衰减。

Photoshop-Export-Layers-to-Files-Fast 的定位完全不同。它的 README 里写得很直白:这个脚本"比 Adobe 内置脚本快得多",并且不追求功能完全对等,而是提供更精简、更高效的体验。也就是说,它砍掉了内置脚本里一些拖慢速度的流程,把"逐层导出"这件事做得更快更利索。

下面是社区分享的一组前后对比数据,可以感受一下量级差异:

对比项Adobe 内置脚本Photoshop-Export-Layers-to-Files-Fast
50 个图层(社区实测参考)约 25 分钟约 2 分钟
100 个图层(社区实测参考)约 50 分钟约 3 分钟
官方承诺README 明确写着"much faster"

💡关于数字的说明:官方 README 没有给出精确的加速倍率,上表来自社区用户的实测分享,不同电脑、不同文档结构结果会有差异,具体请以项目官方文档为准。但方向是一致的——图层越多,节省的时间越可观。

二、拿到手:只有两个文件,雷却藏得深

先克隆仓库:

git clone https://gitcode.com/gh_mirrors/ph/Photoshop-Export-Layers-to-Files-Fast

打开目录你会发现,真正用得到的文件少得可怜,一共就这几样:

文件作用
Export Layers To Files (Fast).jsx主脚本,全部导出逻辑都在这里
Export Layers To Files (Fast)-progress_bar.json进度条界面的资源文件,不能删
README.md官方文档,功能与变量说明的最权威出处
dev/dialog.js对话框 UI 的源码注释,想改界面可以看它

安装方式有两种,任选其一:

方式 A:临时运行。打开 Photoshop,进入文件 → 脚本 → 浏览…,选中Export Layers To Files (Fast).jsx即可,适合先试一把。

方式 B:固定安装。把脚本文件放进 Photoshop 的 Scripts 目录,之后就能从文件 → 脚本菜单里直接调用:

系统安装路径
WindowsC:\Program Files\Adobe\Adobe Photoshop [版本]\Presets\Scripts
macOS/Applications/Adobe Photoshop [版本]/Presets/Scripts

⚠️这里有个坑,踩过一次就忘不掉.jsx.json这两个文件必须放在同一个目录下。如果只拷走了主脚本,运行时 Photoshop 会直接弹一个 "Progress bar resource corrupt" 报错。别问我怎么知道的。

兼容性方面,脚本自述支持到 Adobe Photoshop CS2 及以上,够老也够用。全部装好后,从菜单点开脚本,预期结果就是弹出一个完整的导出设置对话框。

三、第一次运行:这张对话框其实可以 60 秒读完

对话框乍看密密麻麻,其实功能区块非常清晰,从上到下是:输出目录、导出范围、文件名设置、格式标签页、输出选项、图层修改,右侧是运行按钮,底部还有一行当前文档的统计信息(图层数、可见图层数、选中图层数)。

第一次跑,你只需要做四件事:

  1. Output Destination里选好导出文件夹;
  2. 保持All Layers选中(导出全部图层);
  3. 切到PNG-24标签页,勾选Transparency
  4. 点右下角黑色Run按钮。

预期结果:对话框关闭,进度条走完,导出目录里出现与图层一一对应的 PNG 文件。就这么简单。

📌 顺带提醒:进度条窗口里白纸黑字写着"脚本运行期间不要修改当前文档",这是硬性警告,运行到一半去动图层,轻则文件错乱,重则脚本中断。

四、把文件名交给变量:命名规则全解析

第一次运行用默认命名就够了,但如果你每周都要导图标、切图、出资源,命名规则才是这个脚本真正值得花时间的地方。Filenames 下拉框里一共五种方式:

选项作用输出示例
使用图层名称(去除扩展名)图层名去掉后缀做文件名icon-home.pngicon-home.png
使用图层名称(保留扩展名)图层名原样保留icon-home.pngicon-home.png.png
使用图层和父组名称组名与图层名拼接,保留层级信息group 1 > layer-3group-1-layer-3.png
使用索引降序从最顶层开始编号,补前导零最顶层第 10 个图层 →01.png
使用索引升序从最顶层开始编号,不补零第 5 个图层 →5.png

真正强大的是Prefix(前缀)/ Suffix(后缀)字段里支持的变量替换。下面是常用变量的说明表:

变量含义示例值
{i}/{ii}/{iii}图层序号,分别补 0/1/2 位前导零1、01、001
{ln}图层名称icon-home
{dn}文档名称design.psd
{YYYY}/{MM}/{DD}四位年份 / 两位月份 / 两位日期2026、08、15
{HH}/{mm}/{ss}两位小时 / 分钟 / 秒14、19、30

配合起来就是智能文件名。比如前缀填:

{YYYY}{MM}{DD}_{ii}_

那么第 3 个图层导出的文件名就是20260815_03_图层名.png。再比如想保留文档名和图层名,前缀填{dn}_,后缀填{ln},就能得到design_icon-home.png这种组合。日期前缀还有个额外好处:按天归档时,文件天然按时间排序,方便版本管理。

另外两个细节:自定义分隔符用来替换图层名里的空格(Photoshop 不允许文件名带空格,默认用-);Letter Casing可以把所有导出文件名统一成小写或大写,团队协作时非常省心。

五、三个真实场景的调参记录

理论讲完,直接上记录。这三份配置是我自己反复用过的组合,你可以照着抄。

场景一:UI 图标批量导出 PNG(移动端切图)

需求:把设计稿里的 50 个图标导成 24 位透明 PNG,交付给开发。

  1. 命名方式选"使用图层名称(去除扩展名)",前缀填icon_
  2. 切到PNG-24标签页,勾选Transparency
  3. 勾选Trim(自动裁掉透明留白,图标尺寸更干净);
  4. 点 Run。

预期结果:得到 50 个icon_xxx.png,每个都是 24 位带透明通道的独立文件。

场景二:电商产品图导出 JPG(白底、可控体积)

需求:把产品详情页的 30 个图层导成 JPG,用于平台上传。

  1. 勾选Visible Only,只导可见图层;
  2. 命名方式选"使用索引升序",前缀填product_{YYYY}{MM}{DD}_
  3. 切到JPG标签页,Quality 滑块拖到 85,Matte 选White
  4. 点 Run。

预期结果:得到product_20260815_1.jpgproduct_20260815_2.jpg这样的顺序文件,每张都是白底,体积可控。

场景三:印刷分层导出 TIFF(高质量存档)

需求:把印刷设计稿分层导成 TIFF,交给印厂,要求保留色彩管理信息。

  1. 先在图层面板选中要导出的组(脚本只认"选中组"模式);
  2. 命名方式选"使用图层和父组名称",保留层级关系;
  3. 切到TIFF标签页,Image Compression 选LZW,Quality 保持 100,勾选ICC Profile
  4. 点 Run。

预期结果:得到带组名前缀的分层 TIFF 文件,嵌入 ICC 配置,适合印刷流程。注意:选中组模式要求你先选中组再启动脚本,否则该选项是灰的。

六、反复使用之后:这些选项才是效率放大器

跑过几轮基础导出后,下面这几个选项能让效率再上一个台阶。

把底层当公共背景。勾选Bottom Layer as Background,脚本会把最底部的图层作为公共背景,叠加到每一张导出图里;对应地,Top Layer as Foreground把最顶层作为公共前景。这对"固定背景 + 可变内容"的批量出图非常有用——比如同一张海报换不同卖点文案。

让图层组变成文件夹。勾选Groups as Folders后,组和子组会按目录结构导出,文件组织天然清爽;还有Top Groups as Folders(只保留顶层组)和Merge Groups as Layers(把整个组合并成一个图层再导出)两种变形,按需选用。

导出前先修图。Trim裁剪透明区域、Padding给每张图加指定像素的边距、Scale按百分比缩放输出,三个都支持组合使用,比如"裁完再加 8px 安全边距"这种图标切图刚需。

覆盖与静默。Overwrite Existing Files决定重名时是覆盖还是自动改名;Run Silently则关闭进度条和完成提示,适合挂在批处理流程里跑。

真正的一键批处理。设置好参数后点Save and Close保存配置,然后用文本编辑器打开主脚本,找到文件开头这一行:

var BATCH_OPERATION = false;

把它改成:

var BATCH_OPERATION = true;

保存后再运行脚本,它就会跳过对话框,直接按上次保存的设置自动执行。每周固定导同类型文件的工作流,从此只需点一下。想改设置?把那行改回false再跑一次对话框即可。

七、收尾:把脚本变成你的默认工作流

几个来自官方文档的提醒,值得先记下:第一,运行前给 PSD 做备份,脚本的免责声明写得很直白——作者不承担任何数据损失或文件损坏的责任;第二,运行过程中别动当前文档;第三,目前不支持多画板导出,这是官方标注的已知局限。另外,脚本官方支持到 CS2,但作者说明测试范围有限,遇到问题可以换旧版本试试。

想深入了解实现细节,可以翻一翻仓库里的 README.md,所有功能、变量、限制都列得很全;对话框 UI 的源码注释在 dev/dialog.js,主脚本里则藏着完整的导出逻辑。

下次再打开那个两百个图层的 PSD,别急着点内置脚本。把Export Layers To Files (Fast).jsx拖进 Photoshop,设置一次,然后去倒杯咖啡——等你回来,导出文件夹里已经整整齐齐躺好了你要的一切。图层批量导出的意义不在于省下那一小时,而在于那一小时终于可以还给真正需要你的创意工作了。

【免费下载链接】Photoshop-Export-Layers-to-Files-FastThis script allows you to export your layers as individual files at a speed much faster than the built-in script from Adobe.项目地址: https://gitcode.com/gh_mirrors/ph/Photoshop-Export-Layers-to-Files-Fast

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

← 返回列表