Amazonで商品を見るセール会場へ

Photoshopスクリプト(jsx)│フォルダー内のPSDファイルからJPG/PNGを一括出力する方法

Photoshopで選択したフォルダー内のPSDファイルをJPGまたはPNGへ一括変換するスクリプトを紹介します。

手作業で1ファイルずつ開いて保存する手間を省き、見本画像などを効率的に作成できます。

目次

スクリプトのメリット

  • フォルダー内のPSDを一括でJPGまたはPNGに変換
  • 画像のサイズを自動調整し、統一した仕様で出力可能
  • 作業時間を短縮し、手作業による保存ミスを削減

スクリプトの導入方法

STEP.1 スクリプトをダウンロード・格納

用途に合わせて以下の3つのスクリプトを用意しています。

  • 選択したフォルダー内のPSDファイルからJPG出力するスクリプト
  • 選択したフォルダー内のPSDファイルからPNG出力するスクリプト
  • 選択したフォルダー内のPSDファイルから比率を維持しつつ長辺が1000pxより大きい場合は1000pxに縮小してJPG出力するスクリプト

Photoshopのほかの操作は、まとめからご覧いただけます。

  1. 下記のコードをテキストエディタ等に貼り付けて保存

CGM_ExportJpgFromPsdInFolder.jsx

app.bringToFront();
main();

function main()
{
    var folderObj = new Object();
    var sourceFolder = Folder.selectDialog('フォルダを選択してください:', Folder(folderObj));
    var docs = sourceFolder.getFiles("*.psd");
    var fileArray = new Array();
    var len = docs.length;

    for (var i = 0; i < len; i++)
    {
        var doc = docs[i];
        fileArray.push(doc);
    }

    for (var i = 0; i < fileArray.length; i++)
    {
        var doc = open(fileArray[i]);
        var docName = doc.name;
        if (docName.indexOf(".") != -1)
        {
            var basename = docName.match(/(.*)\.[^\.]+$/)[1]
        } else
        {
            var basename = docName
        }

        exportJpg(doc, sourceFolder, basename + '.jpg');
        doc.close(SaveOptions.DONOTSAVECHANGES);
    }
}

function exportJpg(doc, folder, name)
{
    var file = new File(folder.fsName + "/" + name);
    var options = new ExportOptionsSaveForWeb();
    options.format = SaveDocumentType.JPEG;
    options.includeProfile = false;
    options.interlaced = false;
    options.optimized = true;
    options.lossy = 0;
    options.quality = 100;
    doc.exportDocument(file, ExportType.SAVEFORWEB, options);
}

CGM_ExportPngFromPsdInFolder.jsx

app.bringToFront();
main();

function main()
{
    var folderObj = new Object();
    var sourceFolder = Folder.selectDialog('フォルダを選択してください:', Folder(folderObj));
    var docs = sourceFolder.getFiles("*.psd");
    var fileArray = new Array();
    var len = docs.length;

    for (var i = 0; i < len; i++)
    {
        var doc = docs[i];
        fileArray.push(doc);
    }

    for (var i = 0; i < fileArray.length; i++)
    {
        var doc = open(fileArray[i]);
        var docName = doc.name;
        if (docName.indexOf(".") != -1)
        {
            var basename = docName.match(/(.*)\.[^\.]+$/)[1]
        } else
        {
            var basename = docName
        }

        exportPng(doc, sourceFolder, basename + '.png');
        doc.close(SaveOptions.DONOTSAVECHANGES);
    }
}

function exportPng(doc, folder, name)
{
    var file = new File(folder.fsName + "/" + name);
    var options = new ExportOptionsSaveForWeb();
    options.format = SaveDocumentType.PNG;
    options.optimized = true;
    options.interlaced = false;
    doc.exportDocument(file, ExportType.SAVEFORWEB, options);
}

CGM_ExportJpgFromPsdInFolderWithResize.jsx

app.bringToFront();
main();

function main() {
    var folderObj = new Object();
    var sourceFolder = Folder.selectDialog('フォルダを選択してください:', Folder(folderObj));
    var docs = sourceFolder.getFiles("*.psd");
    var fileArray = new Array();
    var len = docs.length;

    for (var i = 0; i < len; i++) {
        var doc = docs[i];
        fileArray.push(doc);
    }

    for (var i = 0; i < fileArray.length; i++) {
        var doc = open(fileArray[i]);
        var docName = doc.name;
        if (docName.indexOf(".") != -1) {
            var basename = docName.match(/(.*)\.[^\.]+$/)[1]
        } else {
            var basename = docName
        }
        doc.mergeVisibleLayers(); //表示レイヤーを結合
        preferences.rulerUnits=Units.PIXELS; //単位をピクセルに
 
        //幅1000pxより大きい場合は比率を維持しつつ幅1000pxに
        if(doc.width>1000){
        doc.resizeImage(1000, undefined, undefined, ResampleMethod.AUTOMATIC, 0);
        }
          //高さ1000pxより大きい場合は比率を維持しつつ高さ1000pxに
        if(doc.height>1000){
        doc.resizeImage(undefined, 1000, undefined, ResampleMethod.AUTOMATIC, 0);
        }  
        
        exportJpg(doc, sourceFolder, basename + '.jpg');
        doc.close(SaveOptions.DONOTSAVECHANGES);
    }
}

function exportJpg(doc, folder, name) {
    var file = new File(folder.fsName + "/" + name);
    var options = new ExportOptionsSaveForWeb();
    options.format = SaveDocumentType.JPEG;
    options.includeProfile = false;
    options.interlaced = false;
    options.optimized = true;
    options.lossy = 0;
    options.quality = 100;
    doc.exportDocument(file, ExportType.SAVEFORWEB, options);
}
  1. CGM_PSDtoJPGorPNG.jsx以下のフォルダに保存
C:\Program Files\Adobe\Adobe Photoshop CC\Presets\Scripts\
  1. Photoshopを再起動。

STEP.2 スクリプトを実行

  1. [ファイル][スクリプト][CGM_PSDtoJPGorPNG] を選択。
  2. PSDファイルが入ったフォルダを選択
  3. 以下の3つのスクリプトから出力方法を選択
    • PSDファイルをJPG形式で出力
    • PSDファイルをPNG形式で出力
    • 比率を維持しつつ、幅・高さが1000pxを超える場合は1000pxに縮小してJPG出力
  4. 指定したフォルダー内に変換済みの画像が出力される

読み込みと書き出しの記事は、ほかにもあります。

まとめ

  • 選択したフォルダー内のPSDを一括でJPG/PNGに変換可能
  • 画像サイズを自動調整し、統一した規格で出力可能
  • 作業効率が向上し、大量のPSDを素早く処理可能

Photoshopでフォルダー内のPSDをJPG/PNGに一括変換し、作業効率を向上させましょう。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

Photoshopのおすすめ書籍

Photoshop用PCの選び方

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次