🎬

【Premiere Pro】テキストを複数のそれぞれ別の文字列に置き換えて画像出力するスクリプト

2024/10/06に公開

「ファイル」→「スクリプト」→「参照」でJSXとして保存した以下のスクリプトを実行
PSDファイルを選択するダイアログで、ターゲットのPSDを選択したら自動で始まります

var inputFile = File.openDialog("PSDファイルを選択");
if (inputFile != null) {
    var doc = open(inputFile);

    var psdDirectory = inputFile.path;

    // 置き換え先のテキスト
    var replacements = ["Text1", "Text2", "Text3"];

    // テキストレイヤー名
    var textLayerName = "Target textlayer";

    var textLayer = findTextLayer(doc, textLayerName);

    if (textLayer != null) {
        for (var i = 0; i < replacements.length; i++) {

            textLayer.textItem.contents = replacements[i];

            // 出力ディレクトリ
            var saveFile = new File(psdDirectory + "/output_" + replacements[i] + ".png");
            savePNG(saveFile);

            doc.activeHistoryState = doc.historyStates[0];
        }
    } else {
        alert("テキストレイヤーが見つかりませんでした。");
    }

    doc.close(SaveOptions.DONOTSAVECHANGES);
}

function findTextLayer(doc, layerName) {
    for (var i = 0; i < doc.layers.length; i++) {
        if (doc.layers[i].name == layerName) {
            return doc.layers[i];
        }
    }
    return null;
}

function savePNG(saveFile) {
    var pngOptions = new PNGSaveOptions();
    pngOptions.compression = 9;
    pngOptions.interlaced = false;
    activeDocument.saveAs(saveFile, pngOptions, true, Extension.LOWERCASE);
}

Discussion