Пользуйтесь! Достаточно мало-мальских понимания в программировании, чтобы понять, что и где менять. Более крутые приемы на подобие обводок текста, теней и прочей стилистики - это пока рано для вашего случая. Сохранить исходник в формате *.jsx, а запускать Файл -> Сценарии -> Обзор... Перед запуском создать пустой слой поверх фона и поставить выбор на него.
Скрипт хавает текстовик, где в каджой строке новое имя или фамилия или все вместе. Пробелы допустимы. Переснос строки энтером.
app.bringToFront();
var strtRulerUnits = app.preferences.rulerUnits;
var strtTypeUnits = app.preferences.typeUnits;
app.preferences.rulerUnits = Units.INCHES;
app.preferences.typeUnits = TypeUnits.POINTS;
var docRef = app.activeDocument;
var textColor = new SolidColor; //Цвета текста в RGB
textColor.rgb.red = 36;
textColor.rgb.green = 36;
textColor.rgb.blue = 36;
app.displayDialogs = DialogModes.NO;
var myFile = File('/e/1. Projects/Новый Год 2022/На конверты/Кому.txt');
if (myFile.exists == true){
myFile.open('r', undefined, undefined)
var line;
var index = 1;
while(!myFile.eof)
{
line = myFile.readln();
createText(line); // создание нового текстового слоя
var file_name = app.activeDocument.activeLayer.name;
saveJPEG( app.activeDocument, new File('/e/1/'+index+"_"+file_name+".jpeg"), 12 ); //Путь и имя сохранения. По-умоланию берется строка из текстовика
var length = app.activeDocument.layers.length;
app.activeDocument.layers[0].visible = false;
app.activeDocument.layers[1].visible = false;
//app.activeDocument.activeLayer.visible = false;
index++;
}
myFile.close();
} else {
new File(myFile);
}
function createText(text){
var text_array = text.split("|");
var newTextLayer = docRef.artLayers.add();
newTextLayer.kind = LayerKind.TEXT;
newTextLayer.textItem.contents = text_array[0]+"";
newTextLayer.textItem.position = Array(8.30, 0.75); // расположение текста на изображении по X и Y. Придется поигарть в морской бой
newTextLayer.textItem.size = 24; // размер текста
newTextLayer.textItem.justification = Justification.RIGHT; //Якорная точка текстового слоя (Читай: выравнивание слева, справа и по центрe. Может быть RIGHT CENTER или LEFT
newTextLayer.textItem.font = "PhillippScript"; // тип шрифта (семейство указывать не научился. Типа Regular или Italic)
newTextLayer.textItem.color = textColor;
newTextLayer.textItem.fauxBold = false; //Жырный или нет true или false
}
function saveJPEG( doc, saveFile, qty ) {
var saveOptions = new JPEGSaveOptions( );
saveOptions.embedColorProfile = true;
saveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
saveOptions.matte = MatteType.NONE;
saveOptions.quality = qty;
doc.saveAs( saveFile, saveOptions, true );
}
app.preferences.rulerUnits = strtRulerUnits;
app.preferences.typeUnits = strtTypeUnits;
docRef = null;
textColor = null;
newTextLayer = null;
Какая-то часть документации
здесь. Остальное гуглится по запросу
JS Photoshop Scripting
Для колдунства со стилями
рекомендую (вам нужен ScriptingListener), придется почитать документацию, я проверял, работает как часы, но в рамках одного поста я инструкцию не опишу.
Удачи всем!