LoginSignup
3
4

More than 5 years have passed since last update.

PhotoshopでPDFから画像抜き出し

Posted at

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;
        };
    };
};
3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4