jvGetLong(整数型情報取得)

各種の数値情報を取得します。

[構文]
 
Function jvGetLong(ByVal jid As Long, ByVal mode As Long)As Long
  
C言語
int jvGetLong(int jid, int mode);
 
JAVA
int jvGetLong(int jid, int mode);
 
Delphi
Function jvGetLong(jid, mode: Longint): Longint;
 

設定項目

内容

jid

jvCreateで取得したジョブID

mode

取得する情報の種類(設定値参照)

 
リターンコード
 

定数

内容

 

0以上

取得した値

JV_ERR_JOBID

-3

ジョブ識別番号エラー

JV_ERR_PARAMETER

-2

パラメータエラー

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

定数

内容

JV_FORM_ORIENT

1

フォームの用紙方向

JV_FORM_SIZE

2

フォームの用紙サイズ

JV_FORM_WIDTH

3

フォームの用紙の幅(1/10mm単位)

JV_FORM_HEIGHT

4

フォームの用紙の高さ(1/10mm単位)

JV_JOB_ID

5

印刷中の印刷ジョブID

JV_PAGE_COUNT

6

フォームファイルのページ数

JV_HDC

7

出力先のデバイスコンテキスト

JV_FORM_XMARGIN

8

フォームの左マージン(1/10mm単位)

JV_FORM_YMARGIN

9

フォームの上マージン(1/10mm単位)

JV_PRINTER_YMARGIN

10

用紙の左上からプリンタの印字原点までの横マージン(1/10mm単位)

JV_PRINTER_YMARGIN

11

用紙左上からプリンタ印字原点までの縦マージン(1/10mm単位)

JV_LABEL_PRINT

12

フォームの種類

JV_LABEL_WIDTH

13

ラベルの横幅(1/10mm単位)

JV_LABEL_HEIGHT

14

ラベルの高さ(1/10mm単位)

JV_LABEL_HNO

15

ラベルの横方向の枚数

JV_LABEL_VNO

16

ラベルの縦方向の枚数

JV_LABEL_HGAP

17

ラベルの横方向の間隔(1/10mm単位)

JV_LABEL_VGAP

18

ラベルの縦方向の間隔(1/10mm単位)

JV_PRINTER_ERROR

21

プリンタエラー(jvEndPage、jvStartDoc、jvEndDoc 実行時のエラー詳細)

JV_DOCMENT_SIZE

22

ドキュメントサイズ

JV_PDF_ERRORCODE

23

PDFフォント埋め込みエラー文字

JV_SECTION_HEIGHT

24

セクションの長さ(1/10mm単位)

JV_CURRENT_TOP

25

現在の縦座標 (1/10mm単位)

JV_DRAW_WIDTH

26

描画領域の幅(1/10mm単位)

JV_DRAW_HEIGHT

27

描画領域の高さ(1/10mm単位)

 
[取得値]
 
フォームの用紙方向(JV_FORM_ORIENT)では次の値が返ります。
 

定数

内容

JV_ORIENT_PORTLAIT  

1

縦置き

JV_ORIENT_LANDSCAPE

2

横置き

 
フォームの用紙サイズ(JV_FORM_SIZE)では次の値が返ります。
 

定数

内容

JV_SIZE_A3

8

A3

JV_SIZE_B4

12

B4

JV_SIZE_A4

9

A4

JV_SIZE_B5  

13

B5

JV_SIZE_A5

11

A5

JV_SIZE_HAGAKI

43

はがき

JV_SIZE_15X11

46

15x11inch

JV_SIZE_10X11  

45

10x11inch

JV_SIZE_FREE

256

不定形用紙

 
フォームの用紙種類(JV_LABEL_PRINT)では次の値が返ります。
 

内容

 1

ラベルフォーム

 0

通常フォーム

 
[解説]
 
jvGetLongは、各種の数値情報を取得します。文字列情報を取得する場合はjvGetString を使います。
正常に取得できた場合は、リターンコードに取得した数値情報が返ります。
 
用紙方向/サイズ(JV_FORM_ORIENT/JV_FORM_SIZE)
フォームの用紙方向やサイズを取得する場合は、jvSetForm 実行後にコールします。取得した値は、プリンタドライバ情報の値として使用できますが、不定形用紙(ユーザー定義サイズ)の用紙番号は環境によって値が違うため、レポートエディタなどで値を取得し確認してください。 ここで取得した値ではプリンタが制御できない場合もプリンタドライバ情報を取得し、内容を確認してください。
 
プリンタドライバ情報とは   
プリンタドライバ情報の取得方法   
 
印刷ジョブID(JV_JOB_ID)
印刷ジョブIDは、jvStartDoc から jvEndDoc の間で取得して下さい。ここで取得した印刷ジョブIDは、jvGetJobStatusjvGetJobInfojvSetJobStatusで使用します。印刷ジョブIDが取得できなかった場合には、-1が返ります。
 
出力先のデバイスコンテキスト(JV_HDC)
デバイスコンテキストは、jvCreatejvClose の間で取得します。jvCreateの出力先が「JV_PRINTER」の場合は、プリンタのデバイスコンテキストを取得します。出力先が「JV_WINDOW」 の場合は、ウィンドウのデバイスコンテキストを取得します。
 
プリンタの印字縦横マージン(JV_PRINTER_XMARGIN/JV_PRINTER_YMARGIN)
用紙の左上からプリンタの印字原点までのマージンを取得します。
マージンを取得するプリンタは、jvCreate のプリンタデバイスコンテキストで指定したプリンタです。プリンタデバイスコンテキストに0を指定した場合は、デフォルトプリンタ(通常使うプリンタに指定されたプリンタ)のマージンを取得します。別のプリンタのマージンを取得する場合は jvSetDevMode でプリンタ名を指定します。jvPrintDialogEx で印刷ダイアログを表示した場合は、印刷ダイアログで選択されたプリンタのマージンを取得します。
 
ラベル情報(13〜18)
各種のラベル情報を取得します。jvSetFormで指定したフォームがラベルフォームの場合に使用できます。
 
プリンタエラー(JV_PRINTER_ERROR)
jvEndPagejvStartDocjvEndDoc でエラーが発生した場合に詳しいエラー番号を取得します。取得したエラー番号は、WindowsAPIのGetLastErrorで取得した値です。エラー内容は、 MicroSoft社などのWebサイトで確認してください。
 
ドキュメントサイズ(JV_DOCMENT_SIZE)
メモリ上に作成されたRDF形式やAdobe PDF形式のドキュメントデータのサイズを取得します。
jvGetDocument と組み合わせて使います。
 
PDFフォント埋め込みエラー文字(JV_PDF_ERRORCODE)
Adobe PDFドキュメントを出力中に、jvDrawFormjvDrawTextjvDrawTextWjvDrawGraph で「JV_ERR_FONTEMBED_CODE」が発生した場合、エラーの原因となった文字コードを取得します。文字コードは、エラーが発生した直後のみ取得できます。
 
AdobePDFドキュメントへフォントを埋め込む
 
現在の縦座標(JV_CURRENT_TOP)
この機能は可変フォーム専用の機能です。固定フォームでは使用できません。
可変フォームを描画している時に、現在の縦座標を取得します。
セクションを何も描画していない時の縦座標は0です。jvDrawSection でセクションを描画すると、縦座標には、描画したセクションの高さが加算されていきます。「JV_DRAW_HEIGHT」と組み合わせて、セクションが描画可能かどうかや、改ページが必要かどうかを判断する時に使います。
縦座標には、フォームのマージンは含まれません。縦座標を変更する時は、jvSetLong を使います。
 
描画領域の幅と高さ(JV_DRAW_WIDTH/JV_DRAW_HEIGHT)
の機能は可変フォーム専用の機能です。固定フォームでは使用できません。
可変フォームの描画領域を取得します。描画領域には、マージンは含まれません。
 
[コーディング例]
 
Dim jid&, ret&
jid = jvCreate(JV_PRINTER, form1.hWnd, Printer.hDC, 0, 0, 0, "")
ret = jvSetForm(jid, "c:\JiveReport\契約書.jfm", 1, "", 100, 0, 0)
ret = jvStartDoc(jid, "火災保険契約書", "")
ret = jvGetLong(jid, JV_FORM_SIZE)
|
ret = jvEndPage(jid)
ret = jvEndDoc(jid)
ret = jvClose(jid)