Ai2Psd脚本实战:如何把Illustrator矢量文件导出成可编辑的PSD分层
【免费下载链接】ai-to-psdA script for prepare export of vector objects from Adobe Illustrator to Photoshop项目地址: https://gitcode.com/gh_mirrors/ai/ai-to-psd
Ai2Psd 是一个免费开源的 Adobe Illustrator 脚本(MIT 协议),专治"AI 文件进了 Photoshop 就变成一张死图"的顽疾。它会按你文档的图层面板逐层整理矢量对象,最终导出成分层完整、路径还能继续修改的 PSD 文件。下面这份经验复盘,来自我几次真实的交付经历,希望能让你少走弯路。
那晚,我栽在一份"要可编辑PSD"的交付上
故事要从一次私活说起。我接了套 App 图标和插画,甲方设计师说"我们这边只认 Photoshop,你给可编辑的 PSD 源文件就行"。我当时觉得简单——Illustrator 里画完了,导出 PSD 不是顺手的事吗?
结果翻车翻得很彻底。我先后试了三种办法,全部扑街:
- 把 AI 里的对象直接复制、粘贴进 PS,得到的是一张合并了所有元素的平面图,连个独立形状都点不出来;
- 用 Illustrator 自带的 PSD 导出功能,打开一看,图层树倒是有了,但内容基本是栅格化的"照片",矢量路径全没了;
- 发给对方 PDF 让他自己转,对方回了一句"打不开、转不了",我当时心态直接崩掉。
最后我只能老老实实按原稿在 PS 里重画——几个小时就这么没了。你要是也在 AI 和 PS 之间来回折腾过,大概能体会那种"画图一小时,搬运两小时"的憋屈。问题的根源不在你的操作,而在于:Illustrator 官方的 PSD 导出,并不会替你把"图层"这件事放在心上。
换个思路:先理清图层,再交给导出
后来我认真琢磨了这件事的底层逻辑。Illustrator 不是不能导出 PSD,而是它导出时按自己的内部规则处理对象,跟你图层面板上看到的结构对不上号。所以与其祈祷官方导出"懂事",不如在导出之前,先用脚本把文档整理成 PSD 能完美承接的状态——这正是 Ai2Psd 干的事。
它的工作方式大致是这样的:
- 自动解锁文档里所有可见的图层和对象;
- 把嵌套过深的分组压扁,避免超出 PSD 的组层级上限;
- 把对象逐个转换成复合形状(借助内置的动作文件完成);
- 刷新图层面板后,再调用导出流程生成 PSD。
换句话说,它并不发明什么黑科技,而是把 Illustrator 自身的导出能力用到极限,在动手之前把文档"预习"到最佳状态。这也解释了为什么它要求你在运行时保持图层面板处于显示且展开的状态——它整理的,就是你眼睛看到的这套结构。
Ai2Psd脚本能保住什么,又保不住什么
用过几次之后,我总结了一张"能力边界"清单,方便你在动手前就心里有数:
能原样带进 PSD 的(保持可编辑):
- 基础形状、路径图形、编组
- 文本(导出后仍是可编辑文本图层)
- 填充、剪贴蒙版、路径本身
进 PSD 后注定变位的(会被栅格化或清除):
- 渐变填充、描边、网格、专色、图案
- 滤镜效果(会被直接清除)
也就是说,如果你的设计大量依赖渐变和描边,别指望脚本把它们变成矢量——但好消息是,它们至少会作为独立的栅格图层保留在 PSD 里,而不是跟别的元素糊成一团,你在 PS 里仍有操作空间。
第一次导出,照着这份操作顺序走就行
坦白说,这脚本的安装比想象中简单,总共就两步。
拿到脚本文件
先获取仓库里的Ai2Psd.jsx文件:
git clone https://gitcode.com/gh_mirrors/ai/ai-to-psd克隆后,把Ai2Psd.jsx复制到 Illustrator 的脚本目录:
- macOS:
/Applications/Adobe Illustrator [版本]/Presets.localized/en_GB/Scripts - Windows:
C:\Program Files\Adobe\Adobe Illustrator [版本]\Presets\en_GB\Scripts
放好后重启 Illustrator,就能在"文件 → 脚本"菜单里看到它了。如果你不想装进目录,直接把 .jsx 文件拖到已打开的文档标签栏上也能运行——注意要拖到标签栏,拖到画布区域可能会触发 Adobe 的一个已知 bug。
面板上的选项怎么选
运行脚本后会弹出一个设置面板,我第一次看时有点懵,用熟之后其实每个选项都很直白:
- 导出范围:当前文档、所有打开的文档、或者整个文件夹(勾选"包含子文件夹"后可以批量扫一整个目录的 .ai/.eps/.svg 文件)——这是 4.0 版本加入的批量能力,对要一次处理几十个文件的人特别友好;
- 画板处理:全部画板、当前画板,或者手动指定范围,比如填
1, 3-5就只导出第 1、3、4、5 个画板; - 分辨率:内置屏幕(72)、中等(150)、高(300)三档,也可以自己填,范围是 72 到 2400 ppi;
- 色彩空间:跟随文档本身的设置,也可以强制指定 RGB 或 CMYK。
点下 Export 按钮后会有进度条和计时,跑完它会提醒你导出完成。我的经验是:第一次先用一个简单文档试跑,确认效果符合预期了,再上大文件。
我在实战里踩过的几个坑,帮你提前排掉
这脚本帮了我大忙,但也不是零成本上手。以下四个坑是我真实踩过的,每个都对应一条具体对策。
坑一:描边没转轮廓,导出后线条变"马赛克"
脚本对描边的处理是栅格化。如果你希望线条在 PSD 里依然是干净的矢量,必须在导出前手动处理:选中对象后执行"对象 → 路径 → 轮廓化描边"。这一步做完,线条就变成了可编辑的填充形状,进了 PSD 依然锋利。
坑二:细碎小对象太多,图层多到爆炸
毛发、纹理、镂空文字这类由成百上千小路径组成的内容,如果直接导出,PSD 里会出现海量碎片图层。更聪明的做法是先把它们合并:选中相关对象,执行"对象 → 复合路径 → 创建"。合并后再导出,图层数量大幅下降,转换也快得多。
坑三:图层面板没展开,脚本直接"不配合"
运行前请确保图层面板在屏幕上可见且已展开。这个要求不是玄学,而是脚本机制的一部分——它依赖面板的当前状态来整理结构。我第一次没注意到这一点,跑完才发现图层顺序乱了。
坑四:位图和图表对象,可能让导出报错
如果文档里有位图图像或图表对象,脚本会弹出警告,建议你先把它们隐藏掉再继续。遇到这种情况别硬刚,隐藏后重跑一次就好。
另外还有两个"暗坑"值得提前知道:脚本会改动当前打开的文件,所以官方建议复制一份再运行;同一个文件处理过后不能直接再跑,需要先用"文件 → 还原"恢复到上次保存的状态。以及,如果文档还没保存过,导出的 PSD 会落到桌面,别满世界找文件。
把它当流水线用:批量导出与提速的小习惯
当你从"偶尔救急"变成"天天要用",这脚本的打开方式就完全不同了。我现在把它当成一条半自动流水线:
- 文件夹批量:把所有 AI 文件丢进同一个文件夹,勾选"包含子文件夹",一次跑完整个目录,适合组件库或图标集这类重复性交付;
- 记住你的偏好:面板里的选项会自动保存成配置文件(存在我的文档下的
Adobe Scripts/Ai2Psd_data.json里),下次打开还是你上次的设定,不用重新选一遍; - 给脚本绑个快捷键:用 AutoHotkey(Windows)或 SPAi、Keyboard Maestro(macOS)这类工具,把运行脚本绑定到功能键上,从此一个按键就能触发导出。注意别在脚本里再嵌
app.doScript()之类的动作,否则 Illustrator 可能卡死; - 低配机器提速:文档特别大时,把 Illustrator 切成全屏模式再跑,速度会有肉眼可见的提升。
能力边界坦诚说
最后想给你一句大实话:Ai2Psd 不是万能的格式翻译机。它擅长的是把矢量结构完整地"搬"过去,但渐变、描边这类特性注定要栅格化,甚至个别图层在 PSD 里还可能被随机合并——连作者都坦言,在 Adobe Illustrator 2026 里依然没有可靠的手段完全控制这一点。所以我的建议是:把它当作"保留矢量骨架"的搬运工,而不是"百分之百还原所有效果"的魔法棒。明确了边界,你反而能用得心里踏实。
下次再有人发你一个 AI 文件、问你能不能给可编辑 PSD 时,你不必再复制粘贴三小时,也不必逐层重画到深夜——把这份脚本放进 Illustrator,剩下的交给它就行。
【免费下载链接】ai-to-psdA script for prepare export of vector objects from Adobe Illustrator to Photoshop项目地址: https://gitcode.com/gh_mirrors/ai/ai-to-psd
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考