PhotoshopでPDFから画像抜き出し


PDFからPhotoshopで画像を書き出すスクリプト。
実行して、フォルダ選択ダイアログでPDFのあるフォルダを指定します。
MacではCS4〜CC2014までで動くのを確認。Windowsは分かりません。

pdfから画像抜き出し.jsx
#target "Photoshop"

(function(){
    //画像が5000px以上ならば書き出し、全部出すなら0
    var minPx = 5000;
    var pdfOpt = new PDFOpenOptions();
    //ページ数か、画像の番号か
    pdfOpt.usePageNumber = false;

    var psdOpt = new PhotoshopSaveOptions();
    psdOpt.alphaChannels = false;
    psdOpt.annotations = false;
    psdOpt.embedColorProfile = false;
    psdOpt.layers = true;
    psdOpt.spotColors = false;

    var folderObj=Folder.selectDialog("PDFのあるフォルダを選択してください");
    if(!folderObj) return;
    var fileObjs = folderObj.getFiles(/[^\.]+.pdf/i);
    if(fileObjs.length){
        for(var i=fileObjs.length-1;i>=0;i--){
            main(fileObjs[i],pdfOpt,psdOpt,minPx);
        };
        alert("埋め込み画像を書き出しました。");
    }
})();

function main(fileObj,pdfOpt,psdOpt,minPx){
    //page 開くページ番号
    pdfOpt.page = 1;
    app.displayDialogs = DialogModes.NO;
    for(;;){
        try{
            var doc=open(fileObj, pdfOpt, false);
            if(doc.width*doc.height>=minPx){
                  var imgFilePath=fileObj.parent+"/"+doc.name+".psd";
                  var imgFile=new File(imgFilePath);
                  doc.saveAs(imgFile, psdOpt, false, Extension.LOWERCASE);
            }
            doc.close(SaveOptions.DONOTSAVECHANGES);
            pdfOpt.page++;
        }catch(e){
            //$.writeln(e);
            app.displayDialogs = DialogModes.ALL;
            break;
        };
    };
};