Photoshop Script: Multipage PDF to JPG

Script für Photoshop (getestet mit CS2 auf PC) das PDF-Dateien mit mehreren Seiten in einzene JPG-Bilder konvertiert und speichert.

Wichtig: Nicht über das ExtendScript Toolkit ausführen (Debugger stoppt), sondern direkt über Datei > Scripten (> Durchsuchen).

//###################################################################
//
//  PDF to JPG (Supports Multipage PDF)
//  Photoshop Script (CS2, tested on PC)
//  unckel.de
//
//###################################################################

// main settings
var pdfSourcePath = "C:\\Test\\PDF\\";
var jpgTargetPath = "C:\\Test\\JPG\\";

var pdfResolution = 150; // dpi
var pdfPagesLoop  = 25;  // search to multipages (try and error)
var jpgQuality    = 12;  // 1-12, best quality = 12

//###################################################################

// save settings and customize environment
var startRulerUnits = app.preferences.rulerUnits;
var startTypeUnits = app.preferences.typeUnits;
var startDisplayDialogs = app.displayDialogs;
app.preferences.rulerUnits = Units.PIXELS;
app.preferences.typeUnits = TypeUnits.PIXELS;
app.displayDialogs = DialogModes.NO;

// list of all files
var picFolder = Folder(pdfSourcePath);
var fileList = picFolder.getFiles();

// exists source and target?
if (pdfSourcePath != null && jpgTargetPath != null) {

  // open all files
  for (var i = 0; i < fileList.length; i++) {

    // opens multipage PDFs
    for (var j = 1; j < pdfPagesLoop; j++) {

      // PDF options
      var pdfOpenOptions = new PDFOpenOptions;
      pdfOpenOptions.antiAlias = true;
      pdfOpenOptions.mode = OpenDocumentMode.RGB;
      pdfOpenOptions.resolution = pdfResolution;
      pdfOpenOptions.page = j;

      // try to open, save and close
      try {
        open(fileList[i], pdfOpenOptions);
        SaveAsJpg(app.activeDocument.name, jpgTargetPath, jpgQuality);
        app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
      }
      catch (e) {
        //alert(e.description);
      }
    }
  }
}

// restore settings
app.preferences.rulerUnits = startRulerUnits;
app.preferences.typeUnits = startTypeUnits;
app.displayDialogs = startDisplayDialogs;

alert("Done!");

//###################################################################

function SaveAsJpg(fileName, filePath, jpgQuality) {
  var saveFile = new File(filePath + "/" + fileName + ".jpg");
  jpgSaveOptions = new JPEGSaveOptions();
  jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
  jpgSaveOptions.embedColorProfile = true; // important if shown on browsers
  jpgSaveOptions.quality = jpgQuality;
  app.activeDocument.saveAs(saveFile, jpgSaveOptions, true, Extension.LOWERCASE);
}

Weitere Infos:
http://www.whatspop.com/blog/archive/2007_01_01_archive.cfm