首页 > 解决方案 > 如何在 Photoshop CC 中将“导出为”记录为动作

问题描述

我正在使用Photoshop CC v20.0.7,并且正在尝试将 记录[file > export > "export as"]为动作。当我点击"record"并尝试时,我的动作序列中没有任何记录,即使jpg正确保存在我的文件夹中。其他exporting保存方法jpg/png对我不起作用,因为我使用的duotone文档只有 2pantone spot colors个通道。有没有办法将我的双色调文档导出/保存到图片中(用于预览目的)并将其记录为动作/脚本?

PS:"quick export as jpg"记录在动作中,但在我运行脚本时没有效果,所以它似乎不是一个可行的选择。

谢谢!

标签: actionphotoshopphotoshop-script

解决方案


如果您使用脚本侦听器插件,它将记录通常不会由操作记录器工具记录的菜单操作,尽管输出不容易读取。

或者,您可以执行以下操作:

saveAsJPG();
function saveAsJPG() {
    var doc = app.activeDocument;
    var tempDoc = documents.add(doc.width,doc.height,doc.resolution,doc.name);
    var docPath = documents[0].fullName
    placeImage(docPath);
    saveFile = new File("d:/"+documents[0].name.replace(/[.]...$/,""));
    saveOptions = new JPEGSaveOptions();
    saveOptions.embedColorProfile = true;
    saveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
    saveOptions.matte = MatteType.NONE;
    saveOptions.quality = 10; 
    activeDocument.saveAs(saveFile, saveOptions, true, Extension.LOWERCASE);
    activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
function placeImage(imagePath) {
    var idPlc = charIDToTypeID( "Plc " ); 
    var desc11 = new ActionDescriptor();  
    var idnull = charIDToTypeID( "null" );
    desc11.putPath( idnull, new File(imagePath) );
    var idFTcs = charIDToTypeID( "FTcs" ); 
    var idQCSt = charIDToTypeID( "QCSt" );   
    var idQcsa = charIDToTypeID( "Qcsa" ); 
    desc11.putEnumerated( idFTcs, idQCSt, idQcsa );
    var idOfst = charIDToTypeID( "Ofst" );     
    var desc12 = new ActionDescriptor();     
    var idHrzn = charIDToTypeID( "Hrzn" );    
    var idPxl = charIDToTypeID( "#Pxl" );      
    desc12.putUnitDouble( idHrzn, idPxl, 0.000000 );     
    var idVrtc = charIDToTypeID( "Vrtc" );    
    var idPxl = charIDToTypeID( "#Pxl" );    
    desc12.putUnitDouble( idVrtc, idPxl, 0.000000 );
    var idOfst = charIDToTypeID( "Ofst" );
    desc11.putObject( idOfst, idOfst, desc12 );
    executeAction( idPlc, desc11, DialogModes.NO );
}

推荐阅读