jvSetPrinterLong(プリンタプロパティ数値情報設定)

プリンタプロパティの各種数値情報を設定します。

[構文]
 
Function jvSetPrinterLong(ByVal prnName As String, ByVal mode As Long, ByVal lval As Long) As Long
 
C言語
int jvSetPrinterLong(char *prnName , int mode, int lval);
 
JAVA
int jvSetPrinterLong(String prnName , int mode, int lval);
 
Delphi
Function jvSetPrinterLong(prnName: PAnsiChar , mode, lval: Longint): Longint;
 

設定項目

内容

prnName

プリンタ名

mode

プロパティ種類(設定値参照)

lval

プロパティの設定値(設定値参照)

 
リターンコード
 

定数

内容

 

0

正常終了

JV_ERR_PARAMETER

-2

パラメータエラー

JV_ERR_OPEN_STDPRN

-103

通常使用するプリンタが指定されていない

JV_ERR_SETPRINTER_INFO

-129

プリンタ情報設定エラー

 
[設定値]
 
mode には次の値を設定します。
 

定数

内容

JV_PRNINFO_SPOOL_TYPE

1

印刷スプール形式

JV_PRNINFO_ENABLE_DEVQ

2

一致しないドキュメントを保留する

JV_PRNINFO_DO_COMPLETE_FIRST

3

スプールされたドキュメントを最初に印刷する

JV_PRNINFO_KEEPPRINTEDJOBS

4

印刷後ドキュメントを残す

JV_PRNINFO_EMF_SPOOL

5

詳細な印刷機能を有効にする

 
mode が印刷スプール形式(JV_PRNINFO_SPOOL_TYPE)の場合、lval には次の値を設定します。
 

定数

内容

JV_PRNINFO_SPTYPE_DIRECT

1

プリンタに直接印刷データを送る

JV_PRNINFO_SPTYPE_PRINTIMMEDIATELY

2

すぐに印刷データをプリンタに送る

JV_PRNINFO_SPTYPE_QUEUED_ALL

3

全ページ分の印刷データをスプールしてからプリンタに送る

 
mode が印刷スプール形式以外の場合、lval には次の値を設定します。
 

定数

内容

JV_PRNINFO_VALUE_ON

1

有効にする

JV_PRNINFO_VALUE_OFF

0

無効にする

   
[解説]
 
jvSetPrinterLongは、コントロールパネルのプリンターのプロパティ詳細設定画面にあるプロパティをアプリケーションから設定するための関数です。これらのプロパティは、コントロールパネルのプリンターのプロパティ詳細設定画面から設定することもできます。jvSetPrinterLongを使って設定したプロパティは、アプリケーション終了後も設定されたままの状態となります。
 
jvSetPrinterLongでは数値型の値を持つプロパティを設定します。 文字列を設定する時はjvSetPrinterStringを使います。
設定値を取得する時はjvGetPrinterLongを使います。
 
プリンタ名が指定されない場合は、コントロールパネルで通常使うプリンタに指定されているプリンタを設定します。
 
jvSetPrinterLongはどこでもコールすることができますが、プロパティ設定後に設定値で印刷を行う場合は、jvCreateの前でコールします。
 
致しないドキュメントを保留する(JV_PRNINFO_ENABLE_DEVQ)
一致しないドキュメントを保留する設定にすると、アプリケーションの印刷設定とプリンタの設定が合致しない場合は印刷せずに保留します。
 
スプールされたドキュメントを最初に印刷する(JV_PRNINFO_DO_COMPLETE_FIRST)
スプールされたドキュメントを最初に印刷しない設定にすると、スプールが完了した文書があっても優先順位のより高い文書がスプール中であれば、そちらが優先されます。
 
詳細な印刷機能を有効にする(JV_PRNINFO_EMF_SPOOL)
詳細な印刷機能を有効にすると、jvSetStringでプリントデータ型にRAW形式、EMF形式の指定を行うことができます。
無効にすると、jvSetStringでプリントデータ型にEMF形式の指定を行った時エラーになります。
 
※各プロパティの詳細は、Microsoft社が提供するWindowsのヘルプなどをご参照ください。
   
[コーディング例]
 
ret = jvSetPrinterLong("PM-G860",JV_PRNINFO_SPOOL_TYPE,JV_PRNINFO_SPTYPE_DIRECT)
ret = jvSetPrinterLong("",JV_PRNINFO_EMF_SPOOL,JV_PRNINFO_VALUE_ON)