以下是一个Photoshop脚本,可实现批量套图功能。该脚本的主要思路是打开一个包含多个模板的文件夹和一个包含多个图片的文件夹,然后将图片依次嵌入到模板中。 ```javascript // 定义模板文件夹路径 var templateFolder = Folder.selectDialog("选择模板文件夹"); if (!templateFolder) return; // 定义图片文件夹路径 var imageFolder = Folder.selectDialog("选择图片文件夹"); if (!imageFolder) return; // 获取模板文件列表 var templateFiles = templateFolder.getFiles("*.psd"); if (templateFiles.length === 0) { alert("模板文件夹中没有PSD文件。"); return; } // 获取图片文件列表 var imageFiles = imageFolder.getFiles(); if (imageFiles.length === 0) { alert("图片文件夹中没有文件。"); return; } // 遍历模板文件 for (var i = 0; i < templateFiles.length; i++) { var templateFile = templateFiles[i]; // 打开模板文件 app.open(templateFile); var doc = app.activeDocument; // 遍历图片文件 for (var j = 0; j < imageFiles.length; j++) { var imageFile = imageFiles[j]; // 置入图片 var placedLayer = doc.artLayers.add(); placedLayer.kind = LayerKind.PLACED; placedLayer = placedLayer.embeddedLayer; placedLayer.linkFile(imageFile); placedLayer.fit(FitOptions.FILL); // 保存文件 var saveFile = new File(templateFolder + "/" + templateFile.name.replace(".psd", "") + "_" + imageFile.name.replace(/\.[^/.]+$/, "") + ".psd"); var saveOptions = new PhotoshopSaveOptions(); doc.saveAs(saveFile, saveOptions, true, Extension.LOWERCASE); // 删除置入的图层 placedLayer.remove(); } // 关闭模板文件 doc.close(SaveOptions.DONOTSAVECHANGES); } alert("批量套图完成。"); ``` 使用方法: 1. 打开Photoshop软件。 2. 选择“文件” - “脚本” - “浏览”,然后选择上述脚本文件。 3. 按照提示依次选择模板文件夹和图片文件夹。 4. 脚本会自动将图片依次嵌入到模板中,并保存为新的PSD文件。 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 确保模板文件夹和图片文件夹的路径正确,且文件夹中包含所需的文件。 2. 模板文件必须是PSD格式,否则脚本可能无法正常工作。 3. 脚本在保存文件时会覆盖同名文件,因此请确保保存路径下没有同名文件,以免数据丢失。 [2025-08-08 22:33:51 | AI写代码神器 | 643点数解答]