 |
LLL/winでは、任意の用紙サイズに出力できるように、用紙サイズに関して以下の 3つの変数を用意しております。
- CO_PAPERSIZE (用紙のサイズを指定)
- CO_PAPERLENGTH (用紙の長さを指定)
- CO_PAPERWIDTH (用紙の幅を指定)
この値を指定することにより、帳票フォーム設計時の用紙サイズとは異なる用紙 サイズに出力できます(注:出力時に想定される用紙サイズを変更できるということ です。選択した用紙に合わせた用紙トレイの変更や用紙サイズに応じた出力データの 拡大・縮小については別途コーディングが必要になります)。
具体的な方法としては、変数CO_PAPERSIZEに「ユーザー定義用紙サイズ」をあらわす 数値を設定したうえで、変数CO_PAPER_LENGTH、CO_PAPERWIDTHの値を1/10mm単位で指定 します。
記述例
長さ9インチ×幅11インチの用紙に出力する
CO_PAPERSIZE = DMPAPER_USER 'ユーザ定義サイズの用紙設定
CO_PAPERLENGTH = 2286 ' 9インチ = 228.6mm(※)
CO_PAPERWIDTH = 2794 '11インチ = 279.4mm(※)
※1インチを25.4mmとした場合
なお、CO_PAPERSIZEに対応する値は、Win32APIのDEVMODE構造体に含まれる変数 dmPaperSizeに指定する数値に準じます(LLL/winでは、モジュール内部で対応する値を それぞれ定数として定義しています)。そのため、独自関数、または独自の処理手順 によって用紙制御を行うドライバなどに対しては、指定どおりの動作を行わない場合が あります。その場合は、
- 対応する用紙サイズの番号を調べる。
- プリンタードライバを別バージョンのものと入れ替えてみる。
- Win32APIで直接コーディングを行う。
などの対処が必要になります。ご注意ください。
|