SET PRINT OPTIONコマンドを使用し、 プログラムから印刷オプションの値を変更することができます。プリントパラメーターを変更する他のコマンド (PRINT SETTINGS、> 引数を使用しないPRINT SELECTION) が呼び出されない限り、このコマンドを使用して定義された各オプションは、セッションの間、データベース全体に対して適用されます。
option引数を使用し、変更するオプションを指定することができます。“Print Options”テーマ内の定義済定数のいずれか、またはPDFオプションコード (WindowsのみでPDFCreatorドライバーで利用可能) を渡すことができます。
指定したoptionの新しい値は、value1と (オプションの) value2に渡します。渡す値の数と種類は、指定したオプションのタイプによって異なります。
以下の表でoptionとそれに対応するvalueを説明します:
option (定数) | value1 | value2 |
1 (Paper option) | 名前 | - |
| 幅 | 高さ |
2 (Orientation option) | 1=縦方向, 2=横方向 | - |
3 (Scale option) | 数値 (%) | - |
4 (Number of copies option) | 数値 | - |
5 (Paper source option) | Windowsのみ: |
| インデックス (数値) | - |
8 (Color option) | Windowsのみ: |
| 1=白黒, 2=カラー | - |
9 (Destination option) | 1=プリンタ, | - |
| 2=ファイル (PC)/PS (Mac), | アクセスパス |
| 3=PDFファイル, | アクセスパス |
| 5=スクリーン(Mac) | - |
11 (Double sided option) | Windowsのみ: |
| 0=片面 (標準) | - |
| 1=両面 | とじしろ: 0=左 (デフォルト), 1=上 |
12 (Spooler document name option) | 印刷するドキュメント名 | - |
13 (Mac spool file format option) | 0=PDFモード, 1= PostScript | - |
| モード |
14 (Hide printing progress option) | 0=表示 (デフォルト), | - |
| 1=非表示 | |
- Paper option(1): PRINT OPTION VALUESコマンドを使用して取得できる、使用可能なすべての用紙タイプの名前一覧。
value1に用紙の名前を渡すか (この場合value2は省略) 、またはvalue1に用紙の高さ、value2に用紙の幅を渡します。幅と高さは、画面のピクセル単位で表わさなくてはなりません。 - Orientation option(2): 1 (縦方向) または2 (横方向) のいずれかをvalue1に渡します。
- Scale option(3): 倍率 (%)をvalue1に渡します。プリンタには倍率を変更できないものがあるので注意が必要です。無効な値を渡すと、印刷時にこのプロパティが100%にリセットされます。
- Number of copies option(4): 印刷する部数をvalue1に渡します。
- Paper source option(5): 使用する用紙トレイを指定します。PRINT OPTION VALUESコマンドから返されるトレイ配列のインデックスに対応する数値を渡します。
注: このオプションは、Windowsでのみ使用可能です。 - Color option(8): value1に、カラー処理用のモードを示すコードを渡します。1=黒白 、2=カラー。
注: このオプションは、Windowsでのみ使用可能です。 - Destination option(9): value1に、印刷先のタイプを示すコードを渡します: 1=プリンタ、2=ファイル (PC) /PS (Mac) 、3=PDFファイル、5=スクリーン (Mac OS Xドライバオプション) 。
value1が1または5以外の場合、出力結果となる文書へのアクセスパスをvalue2に渡します。別のパスが指定されるまで、セッションの間このパスが使用されます。出力先に同じ名前のファイルが既に存在する場合、新しいファイルと置き換えられます。
注: Windowsでは、PDF Creatorプリンタードライバーがインストールされている場合のみ、印刷先として3 (PDFファイル) を指定できます。4D v12.2より、WindowsでPDF Creatorを使用して印刷を行う場合、4Dが制御を行うためにこの設定が必須となります。引数として (9;3;path) が渡されると、4Dは自動で、PDF Creatorに渡されたオプションコードを考慮した"サイレントな"PDF印刷を開始します (value2に空の文字列を渡した場合、または省略した場合、印刷時にファイルを保存ダイアログボックスが表示されます)。印刷後、カレントの設定が再ロードされます。これにより4DでのPDF印刷が簡略化され、マルチプラットフォームのコードが書けるようになります。
(9;3;path)が渡されなかった場合、4Dは印刷を制御せず、PDF Creatorに渡されたオプションコードは無視されます。 - Double sided option(11): 0 (片面または標準) か1 (両面) のいずれかをvalue1に渡します。
value1が1の場合、適用するとじしろをvalue2で指定できます: 0= 左とじ (デフォルト) または1= 上とじ
注:このオプションは、Windowsでのみ使用可能です。 - Spooler document name option(12): value1に、スプーラ文書の一覧に表示したい印刷文書の名前を渡します。
標準操作 (メソッドの場合はメソッド名、レコードの場合はテーブル名を使用等) を使用、または復帰するには、value1に空の文字列を渡します。
警告: 新しい名前か空の文字列が渡されるまで、この命令文で指定した名前がセッションの印刷文書全体に対して使用されます。
Mac spool file format option(13): value1に対し、印刷ジョブをPDFモード (デフォルト値) に設定する場合は0を渡し、印刷ジョブを“強制的に”PostScriptモードに設定する場合は1を渡します。このオプションはWindowsでは効果がありません。
注: Mac OS X上では、デフォルトとして印刷はPDFとして行われます。しかしPDFプリントドライバでは、カプセル化されたPostScript情報を含むPICTピクチャがサポートされません。これらのピクチャは特に、ベクター描画ソフトにより生成されます。
この問題を回避するため、このオプションを使用して、カレントセッション中にMac OSX上で用いる印刷モードを変更することができます。PostScriptモードで印刷を行うと、好ましくない副次的な結果をもたらす可能性があることを覚えておいてください。 - Hide printing progress option (14): value1に1を渡すと、進歩表示を隠すことができます。0を渡すと、再び表示されます (デフォルト)。 このオプションはMac OS Xで特にPDF印刷の場合に役に立ちます。
注: データベースダイアログボックス(インターフェースページ)には既に印刷進歩状況オプションがあります。 しかしながら、それはアプリケーションにグローバルに適用されており、Mac OS Xですべてのウインドウを隠すというわけではありません。
このコマンドを使用して設定を行うと、4Dアプリケーション全体に対しセッションの間中、そのプリントオプションが保持されます。PRINT SELECTION、PRINT RECORD、Print form、QR REPORTコマンドおよびデザインモードを含めた4Dの印刷全般に対して、この設定が使用されます。
注:
option 引数でPDFオプションコードを使用できるようにするためには、4D環境にPDFCreatorドライバーがインストールされていなければなりません (詳細情報についてはWindowsにおけるPDFCreatorドライバーの統合を参照してください)。さらにオプションコードが効力を得るためには、以下の文を使用してPDF印刷の制御を有効にしなければなりません:
そうしなければoptionコードは無視されます。
PDFoptionコードは2つの部分からなるテキストタイプのコードです。OptionTypeとOptionNameを"OptionType:OptionName"のように組み合わせます。このコードの説明は以下の通りです:
- OptionType はネイティブなPDFCreatorオプションあるいは4D PDF管理オプションのいずれを設定するかを指定します。2つの値が受け入れられます:
- PDFOptions = ネイティブオプション
- PDFInfo = 内部オプション
- OptionName は設定するオプションを指定します (OptionType 値に基づきます)。
- OptionType = PDFOptionsの場合、OptionNameには複数のPDFCreatorネイティブオプションのうち一つを渡せます。例えばUseAutosaveオプションは自動バックアップに影響します。このオプションを変更するには、option 引数に"PDFOptions:UseAutosave"を渡し、使用する値をvalue1引数に渡します。PDFCreatorネイティブオプションに関する完全な説明は、PDFCreatorドライバーの説明書を参照してください。
- OptionType = PDFInfoの場合、OptionNameには以下の特定のセレクターを渡せます:
- Reset print: 特に無限ループから抜けるために、内部的な待ち状態をリセットするために使用します。この場合value1は使用しません。
- Reset standard options: すべてのPDFCreatorオプションをデフォルト値にリセットするために使用します。印刷中の場合、デフォルト設定はその印刷が終了後に適用されます。この場合value1は使用しません。
- Start: PDFCreatorスプーラーを開始または停止するために使用します。value1に0を渡すと停止、1を渡すと開始です。
- Reset options: SET PRINT OPTIONコマンドおよびPDFOptionsを使用して、セッションの開始以降変更されたすべてのオプションをリセットします。
- Version: PDFCreatorドライバーの現在のバージョンを読み取るために使用します。このセレクターはGET PRINT OPTIONコマンドでのみ使用できます。番号はvalue1引数に返されます。
- Last error: PDFCreatorドライバーから最後に返されたエラーを読みとるために使用します。このセレクターはGET PRINT OPTIONコマンドでのみ使用できます。エラー番号はvalue1引数に返されます。
- Print in progress: PDFCreatorにより、4Dが印刷を待っているかどうかを知るために使用します。このセレクターはGET PRINT OPTIONコマンドでのみ使用できます。value1引数に1が返されると、4DはPDFCreatorを待っています。そうでなければ0が返されます。
- Job count: 印刷キューにいくつのジョブがたまっているかを知るために使用します。このセレクターはGET PRINT OPTIONコマンドでのみ使用できます。ジョブ数はvalue1引数に返されます。
- Synchronous Mode: 4Dが送信した印刷リクエストとPDFCreatorドライバー間の同期モードを設定するために使用します。4Dは印刷キュー内にある印刷ジョブの現在の状態に関する情報を取得できないので、このオプションを使用して、PDFCreatorドライバーが空き状態のときにのみジョブを送信することで、その実行をよりうまく制御できます。この場合、4Dはドライバーと同期されています。value1 に0を渡すと4Dは即座に印刷リクエストを送信します (デフォルト値)。そして1を渡すと4Dは同期を行い、他のリクエストを送信する前にドライバーがジョブを終了するのを待ちます。
注: それぞれの印刷後に、4DはPDFCreatorを使用する他のアプリケーションとの衝突を避けるために、自動でPDFCreatorドライバーの設定を以前のものに戻します。
以下のメソッドはテーブル中の全レコードを印刷するために、PDFドライバーを有効にします。PDFはC:\Test\Test_PDF_X (Xはレコード位置番号) に書き出されます:
コマンドが正しく実行されるとシステム変数OKに1が設定され、そうでなければ0が設定されます。
optionに渡した値が無効であるか、そのプリンタでoptionが利用できない場合、コマンドはエラーを返し (ON ERR CALLコマンドでインストールされたエラー管理メソッドを用いて、このエラーをとらえることができます) 、オプションの現在の値がそのまま保持されます。