PDF保存:JavaScript×Illustrator

PDF形式で保存する

PDF形式で保存するにはsaveAs()で、保存先と保存オプションを指定。app.activeDocument.saveAs(saveObj, pdfopts);

saveAsの前に、保存先やオプションをオブジェクトで指定します。
saveAsや保存先ファイルオブジェクトについてはこちら。

PDFの保存オプションはnew PDFSaveOptions()で設定。ものすごい数がありますが、あらかじめIllustratorでプリセットを作って、そのプリセット名を指定するのが一番ラクチンでしょう。

PDF保存オプションvar pdfopts = new PDFSaveOptions();
pdfopts.pDFPreset = “[最小ファイルサイズ]“;
//以下、必要なオプションを記述

一式まとめたものがこちら↓
保存先をきいて、PDF形式で保存する
var saveObj = File.saveDialog ("保存PDFファイル名を入れてください");
if (saveObj != null){
  var pdfopts = new PDFSaveOptions(); 
  pdfopts.pDFPreset = "[最小ファイルサイズ]"; 
  app.activeDocument.saveAs(saveObj, pdfopts);
}

保存オプションのプロパティ

書き出すアートボード(複数アートボードの場合)
1-2、1,3など。空の文字列は全ページ。存在しないアートボードを指定するとエラー。
pdfopts.artboardRange = “”;
AdobePDFプリセット(プリセット名を記述)
pdfopts.pDFPreset = “[最小ファイルサイズ]”;
準拠する規格
pdfopts.pDFXStandard = PDFXStandard.PDFXNONE;

PDFXStandard.PDFXNONE なし [デフォルト]
PDFXStandard.PDFX1A2001 PDF/X-1a:2001
PDFXStandard.PDFX1A2003 PDF/X-1a:2003
PDFXStandard.PDFX32002 PDF/X-3:2002
PDFXStandard.PDFX32003 PDF/X-3:2003
PDFXStandard.PDFX42007 PDF/X-4:2010

互換性のある形式
pdfopts.compatibility = PDFCompatibility.ACROBAT5;

PDFCompatibility.ACROBAT4 Acrobat 4
PDFCompatibility.ACROBAT5 Acrobat 5 [デフォルト]
PDFCompatibility.ACROBAT6 Acrobat 6
PDFCompatibility.ACROBAT7 Acrobat 7
PDFCompatibility.ACROBAT8 Acrobat 8

 

一般

PDFオプション一般
説明
pdfopts.pDFXStandardDescription = “None”;
Illustratorの編集機能を保持 [true(デフォルト)/false]
pdfopts.preserveEditability = false;
サムネールを埋め込み [true(デフォルト)/false]
pdfopts.generateThumbnails = false;
Web表示用に最適化 [true/false(デフォルト)]
pdfopts.optimization = false;
保存後PDFファイルを表示 [true/false(デフォルト)]
pdfopts.viewAfterSaving = false;
上位レベルのレイヤーからAcrobatレイヤーを作成 [true/false(デフォルト)]
pdfopts.acrobatLayers = true;

圧縮

PDF保存オプション圧縮カラー画像

圧縮方法
pdfopts.colorDownsamplingMethod = DownsampleMethod. NODOWNSAMPLE;

DownsampleMethod.NODOWNSAMPLE ダウンサンプルしない[デフォルト]
DownsampleMethod.AVERAGEDOWNSAMPLE ダウンサンプル(バイリニア法)
DownsampleMethod.SUBSAMPLE サブサンプル(バイリニア法)
DownsampleMethod.BICUBICDOWNSAMPLE ダウンサンプル(バイキュービック法)

解像度 0の場合実行されない。[デフォルト150.0]
pdfopts.colorDownsampling = 300.0;
次の解像度を超える場合 [デフォルト225.0]
pdfopts.colorDownsamplingImageThreshold = 300.0;
圧縮・画質
pdfopts.colorCompression = CompressionQuality.None;

CompressionQuality.None なし [デフォルト]
CompressionQuality.AUTOMATICJPEGMINIMUM 自動(JPEG) 画質:最低
CompressionQuality.AUTOMATICJPEGLOW 画質:低
CompressionQuality.AUTOMATICJPEGMEDIUM 画質:中
CompressionQuality.AUTOMATICJPEGHIGH 画質:高
CompressionQuality.AUTOMATICJPEGMAXIMUM 画質:最高
CompressionQuality.AUTOMATICJPEG2000MINIMUM 自動(JPEG2000) 画質:最低
CompressionQuality.AUTOMATICJPEG2000LOW 画質:低
CompressionQuality.AUTOMATICJPEG2000MEDIUM 画質:中
CompressionQuality.AUTOMATICJPEG2000HIGH 画質:高
CompressionQuality.AUTOMATICJPEG2000MAXIMUM 画質:最高
CompressionQuality.AUTOMATICJPEG2000LOSSLESS 画質:劣化なし
CompressionQuality.JPEGMINIMUM JPEG 画質:最低
CompressionQuality.JPEGLOW 画質:低
CompressionQuality.JPEGMEDIUM 画質:中
CompressionQuality.JPEGHIGH 画質:高
CompressionQuality.JPEGMAXIMUM 画質:最高
CompressionQuality.JPEG2000MINIMUM JPEG2000 画質:最低
CompressionQuality.JPEG2000LOW 画質:低
CompressionQuality.JPEG2000MEDIUM 画質:中
CompressionQuality.JPEG2000HIGH 画質:高
CompressionQuality.JPEG2000MAXIMUM 画質:最高
CompressionQuality.JPEG2000LOSSLESS 画質:劣化なし
CompressionQuality.ZIP4BIT ZIP 画質:4ビット
CompressionQuality.ZIP8BIT 画質:8ビット

タイルサイズ [デフォルト256]
pdfopts.colorTileSize = 256;
グレースケール画像

圧縮方法
pdfopts.grayscaleDownsamplingMethod = DownsampleMethod.NODOWNSAMPLE;

DownsampleMethod.NODOWNSAMPLE ダウンサンプルしない [デフォルト]
DownsampleMethod.AVERAGEDOWNSAMPLE ダウンサンプル(バイリニア法)
DownsampleMethod.SUBSAMPLE サブサンプル(バイリニア法)
DownsampleMethod.BICUBICDOWNSAMPLE ダウンサンプル(バイキュービック法)

解像度 [デフォルト150.0]
pdfopts.grayscaleDownsampling = 300.0;
次の解像度を超える場合 [デフォルト225.0]
pdfopts.grayscaleDownsamplingImageThreshold = 300.0;
圧縮
pdfopts.grayscaleCompression = CompressionQuality.None;

CompressionQuality.None なし [デフォルト]
CompressionQuality.AUTOMATICJPEGMINIMUM 自動(JPEG) 画質:最低
CompressionQuality.AUTOMATICJPEGLOW 画質:低
CompressionQuality.AUTOMATICJPEGMEDIUM 画質:中
CompressionQuality.AUTOMATICJPEGHIGH 画質:高
CompressionQuality.AUTOMATICJPEGMAXIMUM 画質:最高
CompressionQuality.AUTOMATICJPEG2000MINIMUM 自動(JPEG2000) 画質:最低
CompressionQuality.AUTOMATICJPEG2000LOW 画質:低
CompressionQuality.AUTOMATICJPEG2000MEDIUM 画質:中
CompressionQuality.AUTOMATICJPEG2000HIGH 画質:高
CompressionQuality.AUTOMATICJPEG2000MAXIMUM 画質:最高
CompressionQuality.AUTOMATICJPEG2000LOSSLESS 画質:劣化なし
CompressionQuality.JPEGMINIMUM JPEG 画質:最低
CompressionQuality.JPEGLOW 画質:低
CompressionQuality.JPEGMEDIUM 画質:中
CompressionQuality.JPEGHIGH 画質:高
CompressionQuality.JPEGMAXIMUM 画質:最高
CompressionQuality.JPEG2000MINIMUM JPEG2000 画質:最低
CompressionQuality.JPEG2000LOW 画質:低
CompressionQuality.JPEG2000MEDIUM 画質:中
CompressionQuality.JPEG2000HIGH 画質:高
CompressionQuality.JPEG2000MAXIMUM 画質:最高
CompressionQuality.JPEG2000LOSSLESS 画質:劣化なし
CompressionQuality.ZIP4BIT ZIP 画質:4ビット
CompressionQuality.ZIP8BIT 画質:8ビット

タイルサイズ デフォルト256
pdfopts.grayscaleTileSize = 256;
画質

白黒画像
pdfopts.monochromeDownsamplingMethod = DownsampleMethod.NODOWNSAMPLE;

DownsampleMethod.NODOWNSAMPLE ダウンサンプルしない [デフォルト]
DownsampleMethod.AVERAGEDOWNSAMPLE ダウンサンプル(バイリニア法)
DownsampleMethod.SUBSAMPLE サブサンプル(バイリニア法)
DownsampleMethod.BICUBICDOWNSAMPLE ダウンサンプル(バイキュービック法)

解像度 [デフォルト300]
pdfopts.monochromeDownsampling = 600.0;
次の解像度を超える場合 [デフォルト450.0]
pdfopts.monochromeDownsamplingImageThreshold = 600.0;
圧縮
pdfopts.monochromeCompression = MonochromeCompression.None;

MonochromeCompression.CCIT3 CCITT Group 3
MonochromeCompression.CCIT4 CCITT Group 4
MonochromeCompression.MONOZIP ZIP
MonochromeCompression.None なし [デフォルト]
MonochromeCompression.RUNLENGTH Run Length

テキストとラインアートの圧縮 [true(デフォルト)/false]
pdfopts.compressArt = false;

トンボと裁ち落とし

PDFオプショントンボと裁ち落とし

トンボ

すべてのトンボとページ情報をプリント

トンボ [true/false(デフォルト)]
pdfopts.trimMarks = true;
レジストレーションマーク [true/false(デフォルト)]
pdfopts.registrationMarks = true;
カラーバー  [true/false(デフォルト)]
pdfopts.colorBars = true;
ページ情報  [true/false(デフォルト)]
pdfopts.pageInformation = true;
種類
pdfopts.pageMarksType = PageMarksTypes.Japanese;

PageMarksTypes.Japanese 日本式
PageMarksTypes.Roman 西洋式 [デフォルト]

太さ
pdfopts.trimMarkWeight = PDFTrimMarkWeight. TRIMMARKWEIGHT0125;

PDFTrimMarkWeight.TRIMMARKWEIGHT0125 0.125pt [デフォルト]
PDFTrimMarkWeight.TRIMMARKWEIGHT025 0.25pt
PDFTrimMarkWeight.TRIMMARKWEIGHT05 0.50pt

オフセット [デフォルト0.0]
pdfopts.offset = 0.0;
裁ち落とし

ドキュメントの裁ち落とし設定を使用 [true(デフォルト)/false]
pdfopts.bleedLink = false;
天左右地(裁ち落としのオフセット)
左天右地の順。単位はpt。
pdfopts.bleedOffsetRect = [0,0,0,0];

出力

カラー

カラー変換
pdfopts.colorConversionID = ColorConversion.COLORCONVERSIONREPURPOSE;

ColorConversion.None 変換しない [デフォルト]
ColorConversion.COLORCONVERSIONREPURPOSE 出力先の設定に変換(カラー値を保持)
ColorConversion.COLORCONVERSIONTODEST 出力先の設定に変換
出力先

pdfopts.colorDestinationID = ColorDestination.COLORDESTINATIONWORKINGCMYK;

ColorDestination.COLORDESTINATIONDOCCMYK ドキュメントCMYK -Japan Color 2001 Coated
ColorDestination.COLORDESTINATIONWORKINGCMYK 作業用CMYK -Japan Color 2001 Coated
ColorDestination.COLORDESTINATIONDOCRGB ドキュメントRGB -sRGB IEC 61966-2.1
ColorDestination.COLORDESTINATIONWORKINGRGB 作業用RGB -sRGB IEC 61966-2.1
ColorDestination.None N/A.なし [デフォルト]
ColorDestination.COLORDESTINATIONPROFILE プロファイル??

プロファイルの埋め込み
pdfopts.colorProfileID = ColorProfile.INCLUDEALLPROFILE;

ColorProfile.None プロファイルを含めない [デフォルト]
ColorProfile.INCLUDEALLPROFILE すべてのプロファイルを含める
ColorProfile.LEAVEPROFILEUNCHANGED タグ付きソースプロファイルを含める
ColorProfile.INCLUDERGBPROFILE すべてのRGBおよびタグ付きソースCMYKプロファイルを含める
ColorProfile.INCLUDEDESTPROFILE 出力先プロファイルを含める

PDF/X

出力インテントのプロファイル
pdfopts.outputIntentProfile=ColorDestination.None;

ColorDestination.COLORDESTINATIONDOCCMYK ドキュメントCMYK -Japan Color 2001 Coated
ColorDestination.COLORDESTINATIONWORKINGCMYK 作業用CMYK -Japan Color 2001 Coated
ColorDestination.COLORDESTINATIONDOCRGB ドキュメントRGB -sRGB IEC 61966-2.1
ColorDestination.COLORDESTINATIONWORKINGRGB 作業用RGB -sRGB IEC 61966-2.1
ColorDestination.None N/A.なし [デフォルト]
ColorDestination.COLORDESTINATIONPROFILE プロファイル??

出力条件(コメント)
pdfopts.outputCondition = “None”;
出力条件ID
pdfopts.outputConditionID = “None”;
レジストリ名 URL??
pdfopts.registryName=””;
トラッピング済みとしてマーク [true/false(デフォルト)]
pdfopts.trapped = false;

詳細設定

フォント
サブセットフォントにする [0.0〜100.0(デフォルト)]
pdfopts.fontSubsetThreshold = 100.0;
オーバープリントおよび透明の分割・統合オプション(PDF1.3のみ)
pdfopts.flattenerOptions = flatopts;
オーバープリント
flatopts.overprint = PDFOverprint.PRESERVEPDFOVERPRINT;

PDFOverprint.PRESERVEPDFOVERPRINT 保持 [デフォルト]
PDFOverprint.DISCARDPDFOVERPRINT 破棄

プリセット
pdfopts.flattenerPreset = “[高解像度]”;
カスタムの透明分割・統合オプションを設定する
var flatopts = new PrintFlattenerOptions();
pdfopts.flattenerOptions = flatopts;

透明分割・統合オプションの設定はnew PrintFlattenerOptions()で設定します。以下プロパティを設定していきます。

カスタムの透明分割・統合オプション

ラスタライズとベクトルのバランス[0.0(ラスタライズ)〜100.0(ベクトル)](デフォルト100.0)
flatopts.flatteningBalance = 100.0;
ラインアートとテキストの解像度 [1.0〜9600.0](デフォルト300.0)
flatopts.rasterizationResolution = 300.0;
セキュリティ印刷解像度?? [デフォルト800.0]  
pdfopts.printerResolution = 600.0;
グラデーションとメッシュの解像度 [1.0〜9600.0](デフォルト300.0)
flatopts.gradientResolution = 300.0;
すべてのテキストをアウトラインに変換 [true/false(デフォルト)]
flatopts.convertTextToOutlines = true;
すべての線をアウトラインに変換 [true/false(デフォルト)]
flatopts.convertStrokesToOutlines = true;
複雑な領域をクリップ [true/false(デフォルト)]
flatopts.clipComplexRegions = true;
アンチエイリアス(ラスタライズ)
不明

オブジェクトのクラス名??リードオンリー
flatopts.typename = ”;

セキュリティ

ドキュメントを開くときにパスワードが必要 [true/false(デフォルト)]
pdfopts.requireDocumentPassword = false;
パスワード
pdfopts.documentPassword = “1234”;
セキュリティと権限の設定変更にパスワードを要求 [true/false(デフォルト)]
pdfopts.requirePermissionPassword = false;
権限パスワード
pdfopts.permissionPassword = “1234”;
Acrobat権限

プリントの許可
pdfopts.pDFAllowPrinting = PDFPrintAllowedEnum.PRINT128HIGHRESOLUTION;

暗号化レベル高(128-bit AES) Acrobat5以降

PDFPrintAllowedEnum.PRINT128HIGHRESOLUTION 高解像度 [デフォルト]
PDFPrintAllowedEnum.PRINT128LOWRESOLUTION 低解像度(150dpi)
PDFPrintAllowedEnum.PRINT128NONE なし

暗号化レベル低(40-bit RC4) Acrobat4以前

PDFPrintAllowedEnum.PRINT40HIGHRESOLUTION 高解像度
PDFPrintAllowedEnum.PRINT40NONE  なし

変更を許可
pdfopts.pDFChangesAllowed = PDFChangesAllowedEnum.CHANGE128ANYCHANGES;

暗号化レベル高(128-bit AES) Acrobat5以降

PDFChangesAllowedEnum.CHANGE128NONE なし
PDFChangesAllowedEnum.CHANGE128EDITPAGE ページの挿入、削除、回転
PDFChangesAllowedEnum.CHANGE128FILLFORM フォームフィールドへの記入と署名
PDFChangesAllowedEnum.CHANGE128COMMENTING 注釈、フォームフィールドへの記入と署名
PDFChangesAllowedEnum.CHANGE128ANYCHANGES ページの抽出以外 [デフォルト]

暗号化レベル低(40-bit RC4) Acrobat4以前

PDFChangesAllowedEnum.CHANGE40NONE なし
PDFChangesAllowedEnum.CHANGE40COMMENTING 注釈、フォームフィールドへの記入と署名
PDFChangesAllowedEnum.CHANGE40PAGELAYOUT ページレイアウト、フォームフィールドへの記入と署名
PDFChangesAllowedEnum.CHANGE40ANYCHANGES ページの抽出以外

暗号化レベル低(40-bit RC4) Acrobat4以前
テキスト、画像、その他のコンテンツのコピーおよび視覚障害者用アクセスを有効にする
[true(デフォルト)/false]
pdfopts.enableCopyAccess = true;
暗号化レベル高(128-bit AES) Acrobat5以降
テキスト、画像、およびその他の内容のコピーを有効にする [true(デフォルト)/false]
pdfopts.enableCopy = true;
スクリーンリーダーデバイスのテキストアクセスを有効にする [true(デフォルト)/false]
pdfopts.enableCopyAccess = true;
文書メタデータを暗号化しない[true/false(デフォルト)]
pdfopts.enablePlainText = true;
リードオンリーのプロパティだけどこれ何だ??
pdfopts.typename = “”;

タイトルとURLをコピーしました