我需要创建一个动作来: 1. 在已打开的文件中复制图像的选定部分(手动选择) 2.将选择粘贴到新文件中 3. 将新文件保存为 jpg 文件,但不使用默认文件名“untitled.jpg”——而是使用唯一名称或使用自动递增后缀
因为操作将在同一图像的不同选择上运行多次,使用唯一名称或自动递增后缀保存每个选择将节省每次保存不同选择时手动提供文件名的步骤。
我可以创建一个进入另存为步骤的操作,但不知道是否可以如上所述修改默认另存为名称。可能吗?
没有。之前试过,没有成功。您必须手动保存。
不要认为这可以用一个动作来实现,但你可以写一个脚本来实现它。
我已经为类似的工作创建了一个脚本。它使用一种技术来生成唯一的文件名并保存文件。
/************************************************************************
* Author: Nishant Kumar
* Description: This script iterates through a template to create
* jpg images with id card numbers.
* Date: 08-03-2015
***********************************************************************/
//current id count
var id_count = 0;
//total no of id cards to produce
var total_id_cards = 42;
//no. of cards per sheet
var card_per_sheet = 21;
//Save path related to current file
var save_path = app.activeDocument.path;
//do an iteration, number the cards and save file
do{
//iterate 24 nos in each document
for(var i = 0; i<card_per_sheet; i++){
id_count++;
app.activeDocument.layers[i].textItem.contents = id_count;
}
//Create a jpg document with standard options
jpgSaveOptions = new JPEGSaveOptions();
jpgSaveOptions.embedColorProfile = true;
jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
jpgSaveOptions.matte = MatteType.NONE;
jpgSaveOptions.quality = 12;
//Save jpg with incremental file names (1.jpg, 2.jpg), make sure the path exists
jpgFile = new File( save_path + "/output/" + id_count/card_per_sheet + ".jpeg" );
app.activeDocument.saveAs(jpgFile, jpgSaveOptions, true, Extension.LOWERCASE);
}while(id_count < total_id_cards);
我知道这很旧,但仍然如此。您可以使用以下脚本。
如何使用脚本:
在记事本中复制以下脚本,保存在类似于“
C:\Program Files (x86)\Adobe\Adobe Photoshop CS2\Presets\Scripts
”的目录下,扩展名为JSX
。
要在 photoshop 中运行脚本,请转到 File > Scripts > "Your Script"
.
#target photoshop
主要();
函数主(){
if(!documents.length) 返回;
var Name = app.activeDocument.name.replace(/.[^.]+$/, '');
Name = Name.replace(/\d+$/,'');
尝试{
var savePath = activeDocument.path;
}赶上(e){
alert("You must save this document first!");
}
var fileList= savePath.getFiles(Name +"*.jpg").sort().reverse();
var 后缀 = 0;
如果(文件列表长度){
Suffix = Number(fileList[0].name.replace(/\.[^\.]+$/, '').match(/\d+$/));
}
Suffix= zeroPad(Suffix + 1, 4);
var saveFile = File(savePath + "/" + Name + "_" + Suffix + ".jpg");
SaveJPG(保存文件);
}
函数 SaveJPG(saveFile){
//用标准选项创建一个jpg文件 jpgSaveOptions = new JPEGSaveOptions(); jpgSaveOptions.embedColorProfile = true; jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE; jpgSaveOptions.matte = MatteType.NONE; jpg保存选项.quality = 12;
//Save jpg with incremental file names (1.jpg, 2.jpg), make sure the path exists
activeDocument.saveAs(saveFile, jpgSaveOptions, true, Extension.LOWERCASE);
};
函数 zeroPad(n, s) {
n = n.toString();
while (n.length < s) n = '0' + n;
返回 n;
};