[Photo Shop JSX] PDFをJPEGに変換する

Photo Shop JSXの備忘録

使い方

テキストファイルの拡張子を“.jsx“で保存して、
PhotoShopのファイルメニュー>スクリプト>参照
ファイル選択して実行する。
☘解像度やJPEG保存オプションは適当に変更して使ってください。



folderObj = Folder.selectDialog("ファイルがあるフォルダを選択してください");
savefolderObj = Folder.selectDialog("保存するフォルダを選択してください");
fileList = folderObj.getFiles("*.pdf");
for(fCnt=0; fCnt<fileList.length; fCnt++)
{
    pdfname = fileList[fCnt].fsName;
    open(File(pdfname),pdfOpt);
    resoConv();
    fName = activeDocument.name;
    SaveJpegOptionSet(savefolderObj + '/' + fName.replace(".pdf",".jpg"));
    activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}

function resoConv(){
//100KB以下にしたかったので解像度を144に落としました。高さか幅を設定すればさらに調整可能。

    preferences.rulerUnits = Units.PIXELS;
    activeDocument.resizeImage(undefined,undefined,'144',ResampleMethod.BICUBIC);
    
    //その他のサンプリング方法
    //ResampleMethod.BICUBIC
    //ResampleMethod.BICUBICSHARPER
    //ResampleMethod.BICUBICSMOOTHER
    //ResampleMethod.BILINER
    //ResampleMethod.NEARESTNEIGHBOR
    //ResampleMethod.NONE
}

function SaveJpegOptionSet(tgtFile){
//PhotoShopJPEGの保存オプション(用途的にこの設定で問題なし)

    fileObj = new File(tgtFile);
    jpegOpt = new JPEGSaveOptions();
    jpegOpt.embedColorProfile = true;
    jpegOpt.quality = 2;
    jpegOpt.formatOptions = FormatOptions.PROGRESSIVE;
    jpegOpt.scans = 3;
    jpegOpt.matte = MatteType.NONE;
    activeDocument.saveAs(fileObj, jpegOpt, true, Extension.LOWERCASE);
}

function pdfOptfnc(){
//対象がPDFのため、開くときに縦横比を固定にしておく必要があるらしい。

    pdfOpt = new PDFOpenOptions();
    pdfOpt.constrainProportions = true; // 縦横比を固定
    pdfOpt.page = 1;
}