PhotoshopドキュメントをJavaScriptで別名保存する
たまにはアプリケーションに特化したことを書こうのコーナーです(今考えた)。
いわゆる「別名保存」はDocment.saveAs()メソッドを使うんだけど、オプション類をいちいち調べるのが嫌になったのでまとめます。
なお、以下はPhotoshop CS6 Javascript Scripting Reference(リンク先PDF)を信用して書いたものです。ESTK付属のオブジェクトモデルビューアよりずっと使いやすいのでおすすめ。
Document.saveAs() 書式
Document.saveAs(saveIn[, options][, asCopy][, extensionType]);
引数 | 型 | 説明 |
---|---|---|
saveIn | File | 必須。保存先になるFileオブジェクト。ここで拡張子つけても無視してpsd形式にされる。他の形式にしたい場合はオプションで指定する必要がある。 |
options | varies (いろいろ) |
保存オプション。ファイル形式、および保存時のオプションを指定する。ファイル形式ごとにオブジェクト(クラス)が異なる。詳しくはあとで。 |
asCopy | boolean | 複製として保存するかどうか。オプション。 |
extensionType | Extension | 拡張子の書式。オプション。 Extension.LOWERCASE 小文字 Extension.NONE 拡張子なし Extension.UPPERCASE 大文字 |
保存先Fileオブジェクト
var fileobj = new File("ファイルパス");
とかして作ればいいんじゃないですかね(投げやり)。
保存オプション
オプションは保存形式ごとに別々のクラスが用意されている。ふつうにGUIで保存するときもそうだけど、形式によってオプションがまるで違うからだと思う。
例えばjpg形式なら、
var saveOptions = new JPEGSaveOptions; saveOptions.embedColorProfile = true; saveOptions.formatOptions = FormatOptions.STANDARDBASELINE; saveOptions.quality = 12; // 他、各プロパティを設定 app.activeDocument.saveAs(fileobj, saveOptions, false, Extension.LOWERCASE)
って感じでオブジェクトを作ってから、saveAs()実行時に引数として渡す。
- BMPSaveOptions
- DCS1_SaveOptions
- DCS2_SaveOptions
- EPSSaveOptions
- GIFSaveOptions
- JPEGSaveOptions
- PDFSaveOptions
- PhotoshopSaveOptions
- PICTFileSaveOptions
- PICTResourceSaveOptions
- PixarSaveOptions
- PNGSaveOptions
- RawSaveOptions
- SGIRGBSaveOptions
- TargaSaveOptions
- TiffSaveOptions
とりあえず順番にいきましょう。これ使うの?ってのもあるけど。
BMP
BMPSaveOptions
プロパティ | 型 | 説明 |
---|---|---|
alphaChannels | boolean | アルファチャンネルを保持するかどうか。たぶん32bitのときだけ。 |
depth | BMPDepthType | ビット数。 BMPDepthType.ONE 1bit BMPDepthType.FOUR 4bit BMPDepthType.EIGHT 8bit BMPDepthType.SIXTEEN 16bit BMPDepthType.TWENTYFOUR 24bit BMPDepthType.THIRTYTWO 32bit 詳細モードだともっとあるけど略 |
flipRowOrder | boolean | 行の順序の反転。osTypeがWindowsのときだけ動作。 |
osType | OperatingSystem | ファイル形式。 OperatingSystem.OS2 OS/2 OperatingSystem.WINDOWS Windows |
rleCompression | boolean | RLE圧縮するかどうか。osTypeがWindowsでdepthが4bitか8bitのときだけ動作。 |
typename | string | オブジェクトのクラス名。readonly。"BMPSaveOptions" |
DCS 1.0
DCS1_SaveOptions
プロパティ | 型 | 説明 |
---|---|---|
dCS | DCSType | プレビュー用ファイルの形式。 DCSType.COLORCOMPOSITE カラープレビュー DCSType.GRAYSCALECOMPOSITE グレースケールプレビュー DCSType.NOCOMPOSITE プレビューなし |
embedColorProfile | boolean | カラープロファイルを埋め込むかどうか。 |
encoding | SaveEncoding | エンコーディング形式。 SaveEncoding.ASCII ASCII SaveEncoding.BINARY バイナリ SaveEncoding.JPEGLOW JPEG(低画質) SaveEncoding.JPEGMEDIUM JPEG(標準画質) SaveEncoding.JPEGHIGH JPEG(高画質) SaveEncoding.JPEGMAXIMUM JPEG(最高画質) |
halftoneScreen | boolean | ハーフトーンスクリーンを保持するかどうか。 |
interpolation | boolean | プレビューに画像補間方式(バイキュービック)を適用するかどうか。 |
preview | Preview | EPSプレビュー形式。 Preview.EIGHTBITTIFF 8bitTIFF Preview.MACOSEIGHTBIT Mac 8bitTIFF Preview.MACOSJPEG Mac JPEG Preview.MACOSMONOCHROME Mac 1bitTIFF(モノクロ) Preview.MONOCHROMETIFF 1bitTIFF(モノクロ) Preview.NONE なし |
transferFunction | boolean | トランスファー関数を保持するかどうか。 |
typename | string | オブジェクトのクラス名。readonly。"DCS1_SaveOptions" |
vectorData | boolean | ベクターデータを保持するかどうか。 |
DCS 2.0
DCS 1.0のプロパティに加えて、以下のプロパティがある。typenameは当然"DCS2_SaveOptions"になる。
DCS2_SaveOptions
プロパティ | 型 | 説明 |
---|---|---|
multiFileDCS | boolean | カラーチャンネルを複数ファイルとして出力するかどうか。falseで単一ファイルになる。 |
spotColors | boolean | 特色チャンネルを保持するかどうか。 |
EPS
ほとんどDCSとかぶってるけど改めて全部書いておく。
EPSSaveOptions
プロパティ | 型 | 説明 |
---|---|---|
embedColorProfile | boolean | カラープロファイルを埋め込むかどうか。 |
encoding | SaveEncoding | エンコーディング形式。 SaveEncoding.ASCII ASCII SaveEncoding.BINARY バイナリ SaveEncoding.JPEGLOW JPEG(低画質) SaveEncoding.JPEGMEDIUM JPEG(標準画質) SaveEncoding.JPEGHIGH JPEG(高画質) SaveEncoding.JPEGMAXIMUM JPEG(最高画質) |
halftoneScreen | boolean | ハーフトーンスクリーンを保持するかどうか。 |
interpolation | boolean | プレビューに画像補間方式(バイキュービック)を適用するかどうか。 |
preview | Preview | EPSプレビュー形式。 Preview.EIGHTBITTIFF 8bitTIFF Preview.MACOSEIGHTBIT Mac 8bitTIFF Preview.MACOSJPEG Mac JPEG Preview.MACOSMONOCHROME Mac 1bitTIFF(モノクロ) Preview.MONOCHROMETIFF 1bitTIFF(モノクロ) Preview.NONE なし |
psColorManagement | boolean | PostScriptカラーマネジメントを有効にするかどうか。 |
transferFunction | boolean | トランスファー関数を保持するかどうか。 |
transparentWhites | boolean | 白色部分を透明として扱うかどうか。モノクロ二階調時(document.modeがDocumentMode.BITMAPのとき)のみ有効。 |
typename | string | オブジェクトのクラス名。readonly。"EPSSaveOptions" |
vectorData | boolean | ベクターデータを保持するかどうか。 |
GIF
GIFSaveOptions
プロパティ | 型 | 説明 |
---|---|---|
colors | number | 表示色数。 |
dither | Dither | ディザ方式。 Dither.DIFFUSION 誤差拡散法 Dither.NOISE ノイズ Dither.NONE なし Dither.PATTERN パターン |
ditherAmount | number | ディザの適用量(1〜100)。誤差拡散法の適用時のみ有効。 |
forced | ForcedColors | 使用しているかどうかに関わらず強制的にパレットに含む色。 ForcedColors.BLACKWHITE 白黒 ForcedColors.NONE なし ForcedColors.PRIMARIES レッド、グリーン、ブルー、シアン、マゼンタ、イエロー、黒、白 ForcedColors.WEB Webセーフカラー |
interlaced | boolean | インターレースを有効にするかどうか。 |
matte | MatteType | マット。透明部分(不透明度が100%でない箇所)の背景色を塗りつぶす色の設定。transparencyプロパティがtrueの場合は完全な透明部分(不透明度0%の箇所)には適用されない。 MatteType.BACKGROUND 背景色 MatteType.BLACK 黒 MatteType.FOREGROUND 描画色 MatteType.NETSCAPE ネットスケープグレー MatteType.NONE なし MatteType.SEMIGRAY 50%グレー MatteType.WHITE 白 |
palette | PaletteType | パレットの設定。 PaletteType.EXACT 使用中の色をすべて割り付ける PaletteType.LOCALADAPTIVE ローカル(割り付け) PaletteType.LOCALPERCEPTUAL ローカル(知覚) PaletteType.LOCALSELECTIVE ローカル(特定) PaletteType.MACOSPALETTE Mac PaletteType.MASTERADAPTIVE マスター(割り付け) PaletteType.MASTERPERCEPTUAL マスター(知覚) PaletteType.MASTERSELECTIVE マスター(特定) PaletteType.PREVIOUSPALETTE 前回と同じ PaletteType.UNIFORM ? PaletteType.WEBPALETTE Web PaletteType.WINDOWSPALETTE Windows |
preserveExactColors | boolean | 同一色の保持。ディザの設定が誤差拡散法の場合、カラーテーブルに含まれる色を保護するかどうか。 |
transparency | boolean | 透明箇所を維持するかどうか。 |
typename | string | オブジェクトのクラス名。readonly。"GIFSaveOptions" |
JPEG
JPEGSaveOptions
プロパティ | 型 | 説明 |
---|---|---|
embedColorProfile | boolean | カラープロファイルを埋め込むかどうか。 |
formatOptions | FormatOptions | JPEGフォーマット。 FormatOptions.OPTIMIZEDBASELINE ベースライン(最適化) FormatOptions.PROGRESSIVE プログレッシブ FormatOptions.STANDARDBASELINE ベースライン(標準) |
matte | MatteType | マット。透明部分(不透明度が100%でない箇所)の背景色を塗りつぶす色の設定。 MatteType.BACKGROUND 背景色 MatteType.BLACK 黒 MatteType.FOREGROUND 描画色 MatteType.NETSCAPE ネットスケープグレー MatteType.NONE なし MatteType.SEMIGRAY 50%グレー MatteType.WHITE 白 |
quality | number | 画質。1〜12の数値。 |
scans | number | プログレッシブ形式のスキャン数(完全に表示されるまでの段階の数)。3〜5の数値。 |
typename | string | オブジェクトのクラス名。readonly。"JPEGSaveOptions" |
PDFSaveOptions
多すぎ。プリセット作って適用するのがいいと思う。
プロパティ | 型 | 説明 |
---|---|---|
alphaChannels | boolean | アルファチャンネルを保持するかどうか。 |
annotations | boolean | 注釈を保持するかどうか。 |
colorConversion | boolean | カラー変換するかどうか。 |
convertToEightBit | boolean | 16bit画像を8bit画像に変換するかどうか。 |
description | string | 保存オプションの説明文。 |
destinationProfile | string | 出力先カラープロファイル。文字列で指定。 |
downgradeColorProfile | boolean | (非推奨) |
downSample | PDFResample | ダウンサンプル方式。 PDFResample.NONE なし PDFResample.PDFAVERAGE ダウンサンプル(バイリニア法) PDFResample.PDFBICUBIC ダウンサンプル(バイキュービック法) PDFResample.PDFSUBSAMPLE サブサンプル(ニアレストネイバー法) |
downSampleSize | number | 画像ダウンサンプル後の解像度。ppiで指定。 |
downSampleSizeLimit | number | 画像ダウンサンプルを行う対象になる解像度(この値を超えたら適用)。ppiで指定。 |
embedColorProfile | boolean | カラープロファイルを埋め込むかどうか。 |
embedFonts | boolean | (非推奨) |
embedThumbnail | boolean | サムネイルを埋め込むかどうか。 |
encoding | PDFEncoding | 画像の圧縮形式。 PDFEncoding.JPEG JPEG(画質を数値で指定可能) PDFEncoding.JPEG2000HIGH JPEG2000最高 PDFEncoding.JPEG2000LOSSLESS JPEG2000 ロスレス? PDFEncoding.JPEG2000LOW JPEG2000最低 PDFEncoding.JPEG2000MED JPEG2000中 PDFEncoding.JPEG2000MEDHIGH JPEG2000高 PDFEncoding.JPEG2000MEDLOW JPEG2000低 PDFEncoding.JPEGHIGH JPEG最高 PDFEncoding.JPEGLOW JPEG最低 PDFEncoding.JPEGMED JPEG中 PDFEncoding.JPEGMEDHIGH JPEG高 PDFEncoding.JPEGMEDLOW JPEG低 PDFEncoding.NONE なし PDFEncoding.PDFZIP ZIP8bit PDFEncoding.PDFZIP4BIT ZIP4bit |
interpolation | boolean | (非推奨) |
jpegQuality | number | 画質。1〜12の数値。encodingプロパティがPDFEncoding.JPEGの時のみ有効。 |
layers | boolean | レイヤーを保持するかどうか。 |
optimizeForWeb | boolean | Web表示用に最適化するかどうか。 |
outputCondition | string | PDF/Xの出力条件。 |
outputConditionID | string | PDF/Xの出力条件ID。 |
PDFCompatibility | PDFCompatibility | PDFの互換バージョン。 PDFCompatibility.PDF13 1.3 PDFCompatibility.PDF14 1.4 PDFCompatibility.PDF15 1.5 PDFCompatibility.PDF16 1.6 PDFCompatibility.PDF17 1.7 |
PDFStandard | PDFStandard | PDF/X規格。 PDFStandard.NONE なし PDFStandard.PDFX1A2001 PDF/X-1a:2001 PDFStandard.PDFX1A2003 PDF/X-1a:2003 PDFStandard.PDFX32002 PDF/X-3:2002 PDFStandard.PDFX32003 PDF/X-3:2003 PDFStandard.PDFX42008 PDF/X-4:2008 |
preserveEditing | boolean | 編集機能を保持するかどうか。 |
presetFile | string | PDF書き出しプリセット(名前)。指定すると他のプロパティよりプリセットの設定が優先される。 |
profileInclusionPolicy | boolean | プロファイルを埋め込むかどうか。 |
registryName | string | PDF/Xのレジストリ名。 |
spotColors | boolean | 特色を保持するかどうか。 |
tileSize | nunber | 画像の圧縮形式がJPEG2000の場合のタイル数。encodingプロパティがPDFEncoding.JPEG2000の時のみ有効。 |
transparency | boolean | (非推奨) |
typename | string | オブジェクトのクラス名。readonly。"PDFSaveOptions" |
useOutlines | boolean | (非推奨) |
vectorData | boolean | (非推奨) |
view | boolean | 保存後にPDFを表示するかどうか。 |
PSD
PhotoshopSaveOptions
プロパティ | 型 | 説明 |
---|---|---|
alphaChannels | boolean | アルファチャンネルを保持するかどうか。 |
annotations | boolean | 注釈を保持するかどうか。 |
embedColorProfile | boolean | カラープロファイルを埋め込むかどうか。 |
layers | boolean | レイヤーを保持するかどうか。 |
spotColors | boolean | 特色を保持するかどうか。 |
typename | string | オブジェクトのクラス名。readonly。"PhotoshopSaveOptions" |
PICTファイル
PICTFileSaveOptions
プロパティ | 型 | 説明 |
---|---|---|
alphaChannels | boolean | アルファチャンネルを保持するかどうか。 |
compression | PICTCompression | 圧縮形式。 PICTCompression.JPEGHIGHPICT PICTCompression.JPEGLOWPICT PICTCompression.JPEGMAXIMUMPICT PICTCompression.JPEGMEDIUMPICT PICTCompression.NONE なし |
embedColorProfile | boolean | カラープロファイルを埋め込むかどうか。 |
resolution | PICTBitsPerPixels | bit数。 PICTBitsPerPixels.EIGHT PICTBitsPerPixels.FOUR PICTBitsPerPixels.SIXTEEN PICTBitsPerPixels.THIRTYTWO PICTBitsPerPixels.TWO |
typename | string | オブジェクトのクラス名。readonly。"PICTFileSaveOptions" |
PICTリソース
Photoshopでは読み込み専用(書き出せない)。
PICTResourceSaveOptions
プロパティ | 型 | 説明 |
---|---|---|
alphaChannels | boolean | アルファチャンネルを保持するかどうか。 |
compression | PICTCompression | 圧縮形式。 PICTCompression.JPEGHIGHPICT PICTCompression.JPEGLOWPICT PICTCompression.JPEGMAXIMUMPICT PICTCompression.JPEGMEDIUMPICT PICTCompression.NONE なし |
embedColorProfile | boolean | カラープロファイルを埋め込むかどうか。 |
name | string | PICTリソースの名前。 |
resolution | PICTBitsPerPixels | bit数。 PICTBitsPerPixels.EIGHT PICTBitsPerPixels.FOUR PICTBitsPerPixels.SIXTEEN PICTBitsPerPixels.THIRTYTWO PICTBitsPerPixels.TWO |
resourceID | number | PICTリソースのID。 |
typename | string | オブジェクトのクラス名。readonly。"PICTResourceSaveOptions" |
PXR
PixarSaveOptions
プロパティ | 型 | 説明 |
---|---|---|
alphaChannels | boolean | アルファチャンネルを保持するかどうか。 |
typename | string | オブジェクトのクラス名。readonly。"PixarSaveOptions" |
PNG
PNGSaveOptions
プロパティ | 型 | 説明 |
---|---|---|
compression | number | 圧縮設定。0〜9の数値? デフォルトは0 |
interlaced | boolean | インターレースを有効にするかどうか。 |
typename | string | オブジェクトのクラス名。readonly。"PNGSaveOptions" |
RAW
RawSaveOptions
プロパティ | 型 | 説明 |
---|---|---|
alphaChannels | boolean | アルファチャンネルを保持するかどうか。 |
spotColors | boolean | 特色を保持するかどうか。 |
typename | string | オブジェクトのクラス名。readonly。"RawSaveOptions" |
SGIRGB
標準ではインストールされない形式らしい(知らない)。
SGIRGBSaveOptions
プロパティ | 型 | 説明 |
---|---|---|
alphaChannels | boolean | アルファチャンネルを保持するかどうか。 |
spotColors | boolean | 特色を保持するかどうか。 |
typename | string | オブジェクトのクラス名。readonly。"SGIRGBSaveOptions" |
TGA(Targa)
TargaSaveOptions
プロパティ | 型 | 説明 |
---|---|---|
alphaChannels | boolean | アルファチャンネルを保持するかどうか。 |
resolution | TargaBitsPerPixels | 色数。 TargaBitsPerPixels.SIXTEEN 16bit TargaBitsPerPixels.TWENTYFOUR 24bit TargaBitsPerPixels.THIRTYTWO 32bit |
rleCompression | boolean | RLE圧縮するかどうか。 |
typename | string | オブジェクトのクラス名。readonly。"TargaSaveOptions" |
TIFF
TiffSaveOptions
プロパティ | 型 | 説明 |
---|---|---|
alphaChannels | boolean | アルファチャンネルを保持するかどうか。 |
annotations | boolean | 注釈を保持するかどうか。 |
byteOrder | ByteOrder | バイト順序。 ByteOrder.IBM IBM PC ByteOrder.MACOS Macintosh |
embedColorProfile | boolean | カラープロファイルを埋め込むかどうか。 |
imageCompression | TIFFEncoding | 圧縮形式。 TIFFEncoding.JPEG JPEG TIFFEncoding.NONE なし TIFFEncoding.TIFFLZW LZW TIFFEncoding.TIFFZIP ZIP |
interleaveChannels | boolean | ピクセルの順序。trueでインターリーブになる。 |
jpegQuality | number | 画質。1〜12の数値。encodingプロパティがPDFEncoding.JPEGの時のみ有効。 |
layerCompression | LayerCompression | レイヤーの圧縮形式。layersプロパティがtrueの時のみ有効。 LayerCompression.RLE RLE圧縮 LayerCompression.ZIP ZIP圧縮 |
layers | boolean | レイヤーを保持するかどうか。 |
saveImagePyramid | boolean | 画像ピラミッドを保存するかどうか。 |
spotColors | boolean | 特色を保持するかどうか。 |
transparency | boolean | 透明部分を保持するかどうか。 |
typename | string | オブジェクトのクラス名。readonly。"TiffSaveOptions" |
以上!! つかれたー!!!!