印刷ファイルの機能を拡張する

31. 拡張印刷装置ファイルの作成 (CRTEXPRTF)

拡張印刷装置ファイルの作成(CRTEXPRTF)は IBM i の CRTPRTFコマンドと
同じ機能に加えてさらに拡張した機能を提供します。
CRTEXPRTFで作成した印刷装置ファイル(PRTF)によって出力された
印刷スプールを CVTSPLFによってPDF化または印刷を指定すると
次のような印刷機能を拡張することができます。

CRTEXPRT によって *SCSストリームの機能は *AFPでしか
できなかった有用な機能に拡張されます。
高価な *AFPライセンス・プログラムを購入することなく
*SCS で様々な便利な機能を得ることができるようになります。

CRTEXPRTF は DDS の次のキー・ワードの使用が可能になります

COLORキー・ワード

COLORキー・ワードは文字カラーの印刷が可能になります。
IBM *SCS では COLORキー・ワードは *AFP のみのサポートですが
CRTEXPRTF + CVTSPLF で *SCSでも COLORキー・ワードが有効になります。
COLORキー・ワードの詳細は こちら で。

IMAGEキー・ワード

IMAGEキー・ワードを利用すると *SCS でも画像イメージを
印刷することができるようになります。
会社ロゴや印章も IMAGEキー・ワードで表示できるようになります。
IMAGE キー・ワードの詳細は こちら で。

※IMAGEキー・ワードをSEUで入力しようとすると
「このファイル・タイプではキーワード 'IMAGE' は正しくない。」との
SEUエラーが発生しますが
SEUの終了では

		                     終了
	                             
メンバーの変更/作成 . . . . . . . . .  Y
  :
編集に戻る . . . . . . . . . . . . . .  N (YをNに変更してください)

として強制的に保管してください。

BARCODキー・ワード

CODE39 をはじめとする様々なタイプのバー・コードを *SCS でも
印刷できるようになります。
BARCODキー・ワードの詳細は こちら で。

BARCODキー・ワードをSEUで入力しようとすると
「このファイル・タイプではキーワード 'BARCOD' は正しくない。」との
SEUエラーが発生しますが
SEUの終了では

	                           終了

メンバーの変更/作成 . . . . . . . . .  Y
  :
編集に戻る . . . . . . . . . . . . . .  N (YをNに変更してください)

として強制的に保管してください。

OVERLAYキー・ワード

OVERLAYキー・ワードを使うと画像イメージと
重ね合わせて (オーバーレイ) 印刷することができます。
OVERLAYキー・ワードの詳細は こちら で。

※OVERLAYキー・ワードをSEUで入力しようとすると
「このファイル・タイプではキーワード 'OVERLAY' は正しくない。」との
SEUエラーが発生しますが
SEUの終了では

		                      終了
	                             
メンバーの変更/作成 . . . . . . . . .  Y
  :
編集に戻る . . . . . . . . . . . . . .  N (YをNに変更してください)

として強制的に保管してください。

CRTEXPRTF は次の独自のパラメータが有効に働きます

前面オーバーレイ (FRONTOVL) パラメータ

前面オーバーレイ・パラメータはオーバーレイ印刷を指示します。
オーバーレイ印刷とは専用用紙などの画像イメージに重ね合わせて印刷することです。
オーバーレイ印刷したスプールを CVTSPLF コマンドを使って PDF 化または印刷すると
画像イメージの上に印刷を重ね合せることができます。

前面オーバーレイ・パラメータは印刷ファイル (PRTF) を作成するときに指定しますが
DDS ソースに OVERLAYキー・ワードを使ってオーバーレイ印刷を指定するのと同じことです。
オーバーレイ印刷を使うと今まで専用用紙で印刷していた業務で
専用用紙を画像イメージに置換えることによって専用用紙の使用を廃止したり
5250 専用の連続プリンターの使用を廃止したり人的時間的節減に
大幅な効果を上げることができます。

OVERLAYキー・ワードとオーバーレイ印刷の詳細は こちら で。

オーバーレイ

オーバーレイ印刷する画像ファイルのフル・パス名を指定します。
QNTC フォルダーを指定して他の PC や PC サーバーに保管されているファイルを
参照することもできます。

下方向オフセット

画像イメージを印刷データに比べて下方向に移動して印刷することを指示します。
移動単位は -57.790 〜 57.790 CM(センチメートル)の範囲内で
1/1000 CM 単位で指示することができます。
オフセット値はまたマイナス値を指定することもできます。
下方向へマイナス値のオフセット値を指示することは
画像イメージを印刷データよりも上に配置することを意味しています。

横方向オフセット

画像イメージを印刷データに比べて右方向に移動して印刷することを指示します。
移動単位は -57.790 〜 57.790 CM(センチメートル)の範囲内で
1/1000 CM 単位で指示することができます。
オフセット値はまたマイナス値を指定することもできます。
右方向へマイナス値のオフセット値を指示することは
画像イメージを印刷データよりも左に配置することを意味しています。

CVTSPLF コマンドの使用法の注意点

オーバーレイ印刷で印刷した後で CVTSPLF によって PDF 化または
印刷すれば初めて重ね合わせ印刷が完成します。
このとき CVTSPLF の実行は必ずページ・サイズ・パラメータで
*CUSTOM と指定してページ幅,用紙長,単位 (*INCH) も明示的に指定してください。
用紙長は 11インチ、単位は *INCH 、用紙幅は
実際の用紙の幅 (=印刷桁数/10) をインチ単位で指定してください。

COLOR キー・ワードを有効にする

CRTEXPRTF によって印刷装置ファイル(*PRTF)を作成すると DDSの COLORキー・ワードが有効になります。

【解説】

COLOR キー・ワードの有効化

DDSの COLORキー・ワードを使うと印刷の文字カラーを指定することができますが
IBM i では COLORキー・ワードは *AFPDS でのみ有効と説明されています。
しかし z/OS ( IBM z ) では *SCS でもカラー属性が仕様として認められています。
Spoolライター提供の CRTEXPRTF コマンドでは COLORキー・ワードが
DDS ソースで指定された場合に印刷装置ファイル(*PRTF)に
*SCS IBM仕様に基づくカラー属性を生成します。
これによって生成された印刷装置ファイル(*PRTF)を使って RPG/COBOL などで
印刷出力すると *SCSストリームにはカラー属性が埋め込まれます。

カラー印刷

*SCS カラー属性をサポートしているプリンターであればカラー印刷されますが
*SCS のカラー印刷をサポートしているSNAプリンターは少ないかも知れません。
しかし印刷スプールを CVTSPLFコマンドなどによって PDFに変換すれば
PDFには文字カラー属性が埋め込まれていますので、そのPDFを印刷できる
プリンターであればカラー文字を印刷することができることになります。

したがってSpoolライターのPDFドライバーやLPRドライバーによってPDF変換を
指定してPDF印刷可能なプリンターに送信してやると文字カラーを印刷することができます。

手元の「最寄りのプリンタ」に印刷出力するSpoolライターのローカル印刷の場合も
PCクライアントには PDFが送信されますのでそのクライアントに設定されている
プリンタがカラー印刷可能なプリンタであればカラー印刷することができます。

COLORキー・ワードのパラメータ 意味
BLK
BLU
BRN
GRN
PNK ピンク
RED
TRQ
YLW
【例】
A                                    TKCODE      25
A                                                         COLOR(RED)
RGBカラーの指定(開発中)

i5/OS V5R2M0 からは上記の基本カラー・コードに加えてさらに
RGBカラーを指定することができるようになりました。
RGBカラーとは光の3原色(赤・緑・青)をHEXコードで色を表す方法で
PCのディスプレー表示はこの RGB によって指定することが多く使われています。

A                                    TKCODE     25
A                                                        COLOR(*RGB 255 255 255)
CMYKカラーの指定(開発中)

i5/OS V5R2M0 からは CMYKカラーの指定もできるようになりました。
RGB に対してCMYKカラーとは(シアン+マゼンダ+イエロー+ブラック)の4色によって
色を表す方法であり印刷は一般的にこの4色による表現が一般的であり普及しています。

A                                     TKCODE   25
A                                                       COLOR(*CYMK)

カラー印刷の時代へ

IBM i の表示端末はかつてはモノクロであり、
ビジネスにはカラー表示の必要はないとさえ言われていた時代がありました。
しかし時代が進み、カラーの表現力に何よりわかりやすいものとされ
今日では社内資料やプレゼン資料にはカラー印刷が必須です。
その中にあって IBM i の印刷出力だけがモノクロのまま取り残されているのはおかしなことです。
社内、社外を問わずカラーでの表現を Spoolライターを使って大いに活用してください。

IMAGE キー・ワードで画像を印刷する

IMAGE キー・ワードは CRTEXPRTFの画像を印刷するための独自のキー・ワードです。
IMAGE キー・ワードを SEU やPDM で入力すると文法上の警告エラー

「このファイル・タイプではキーワード 'IMAGE' は正しくない 」

とのエラーが表示されますが、無視して終了して
SEU の「編集に戻る」を Y から N にしてメンバーの変更/作成を Y にして終了してください。

IMAGE('IFSの画像ファイルのフル・パス名'  縦の行幅 横方向の列数)

の形式でフィールド・レベルのキー・ワードとして指定します。
例えば

A                                16 33IMAGE('/AS400-NET.USR/IMG/RAILCAR-
A                                         .JPG' 5 8)

の指定は画像ファイル: /AS400-NET.USR/IMG/RAILCAR.JPG を
16行目33桁目より余日幅の列数5桁、縦の高さ 8行として表示することを意味します。

画像ファイルは、下記の形式に対応しています。

  • JPEG 形式
  • PNG 形式 グレイスケール 1/2/4/8/16bit
  • PNG形式 RGBカラー 8/16bit

※ PNG 形式の、アルファ・チャンネル及びインデックスカラーには対応していません。

白黒印刷について

JPEG 形式や、RGB カラーの PNG 形式を指定すると、例え画像データを白黒で作ったとしても、印刷したときにカラー印刷となります。

白黒印刷を行いたい場合は、グレイスケールの PNG 形式で画像を作成してください。

PNG ファイルがグレイスケールになっているかどうかは、
ファイルのプロパティで確認出来ます。

グレイスケールであれば、「ビットの深さ」が 8 もしくは 16 になります。


IMAGEキー・ワードは、またプログラム変数を使って動的に指定することもできます。

A                                      22 12IMAGE(&P1 5 8)
A                 P1     32A   P

のようにプログラム変数 P1 を使って定義しておいて
RPGプログラムからは

D IFS             C                   CONST('/AS400-NET.USR/IMG/BKTTR7.
D                                     JPG')
                           :
C*( 画像印刷 )
C                   MOVEL(P)  IFS           P1
C*----------------------------------------------------+
C                   WRITE     GIFPRT
C*----------------------------------------------------+

のように指定します。

... IMAGEキー・ワードは CRTEXPRTF + CVTSPLF の組み合わせにおいてのみ
    有効であり画像をPDFに埋め込むことができます。
    CVTSPLF は 印刷スプールの中に IMAGEキー・ワードを見つけると
    IFSの画像ファイルを読み込んで、そのイメージをPDFの内部に埋め込みます。
    従ってPDFの実行時に画像ファイルが手元に存在している必要はありません。
    一旦、PDFを作成してしまえば、そのPDFは IBM i の接続のない
    どのような環境下でも画像を表示することができます。

    画像を含むスプールもPDFにしてしまえば印刷できます。
    このことから SpoolライターのLPR印刷で出力オプションに *PDFを指定して
    PDF印刷可能なプリンタを指定すれば画像や文字カラーの印刷が可能となります。

【サンプルDDS】
0001.00 A**********************************
0002.00 A*  IGCLABELF :  漢字サンプル印刷 *
0003.00 A**********************************
0004.00 A*
0005.00 A*( 見出し行 )
0006.00 A          R COLPRT
0007.00 A                                      DFNLIN(*HRZ 2 2 40)
0008.00 A                                      DFNLIN(*HRZ 5 2 40)
0009.00 A                                  1  4' 漢字印刷サンプル '
0010.00 A                                      CHRSIZ(2)
0011.00 A                                  4 10'< カラー・サンプル >'
0012.00 A                                  7  3' 黒色 '
0013.00 A                                      COLOR(BLK)
0014.00 A                                  7 13' 青色 '
0015.00 A                                      COLOR(BLU)
0016.00 A                                  7 23' 茶色 '
0017.00 A                                      COLOR(BRN)
0018.00 A                                  7 33' 緑色 '
0019.00 A                                      COLOR(GRN)
0020.00 A                                  9  3' ピンク '
0021.00 A                                      COLOR(PNK)
0022.00 A                                  9 13' 赤色 '
0023.00 A                                      COLOR(RED)
0024.00 A                                  9 23' 空色 '
0025.00 A                                      COLOR(TRQ)
0026.00 A                                  9 33' 黄色 '
0027.00 A                                      COLOR(YLW)
0028.00 A*( 明細行 )
0029.00 A          R GIFPRT
0030.00 A                                      DFNLIN(*HRZ 11 2 40)
0031.00 A                                      DFNLIN(*HRZ 14 2 40)
0032.00 A                                 13 10'< 画像サンプル >'
0033.00 A                                 16  2' バイク '
0034.00 A                                 16 12IMAGE('/AS400-NET.USR/IMG/B
0035.00 A                                      JPG' 5 8)
0036.00 A                                 16 23' 電車 '
0037.00 A                                 16 33IMAGE('/AS400-NET.USR/IMG/R
0038.00 A                                      .JPG' 5 8)
0039.00 A                                 22  2' ライダー '
0040.00 A                                 22 12IMAGE(&P1 5 8)
0041.00 A            P1            32A  P
0042.00 A                                 22 23' 飛行機 '
0043.00 A                                 22 33IMAGE('/AS400-NET.USR/IMG/D
0044.00 A                                      JPG' 5 8)
0045.00 A*( 合計行 )
0046.00 A          R BOTPRT
0047.00 A*                                     BOX(4 12 10 32)
0048.00 A                                      DFNLIN(*HRZ  4 12 20)
0049.00 A                                      DFNLIN(*VRT  5 12 6)
0050.00 A                                      DFNLIN(*HRZ 10 12 20)
0051.00 A                                      DFNLIN(*VRT  5 32 6)
【作成】
CRTEXPRTF FILE(QTROBJ/IGCLABELF) SRCFILE(QTRSRC/QPRTSRC) LVLCHK(*NO) AUT(*ALL)
【サンプルRPGソース】
0001.00 H DFTNAME(IGCLABEL) DATEDIT(*YMD/)
0002.00 F**********  漢字サンプル印刷 *****************************************
0003.00 FTOKMAS    IF   E           K DISK
0004.00 FPRTF      O    E             PRINTER EXTDESC('QTROBJ/IGCLABELF')
0005.00 F                                     EXTFILE(*EXTDESC)
0006.00 F**********************************************************************
0007.00 D AR              S              1    DIM(80)
0008.00
0009.00 D*( WORK 日付 YYMMDD データ 構造  )
0010.00 D DATEDS          DS
0011.00 D  SRY                    1      2  0 INZ(20)
0012.00 D  SRYMD                  1      8  0
0013.00 D  YYMMDD                 3      8  0
0014.00 D  YYMM                   3      6  0
0015.00 D  MMDD                   5      8  0
0016.00 D  YY                     3      4  0
0017.00 D  MM                     5      6  0
0018.00 D  DD                     7      8  0
0019.00
0020.00 D IFS             C                   CONST('/AS400-NET.USR/IMG/BKTTR7.
0021.00 D                                     JPG')
0022.00
0023.00 C                   SETOFF                                       99
0024.00 C     '0002'        CHAIN     TOKMAS                             99
0025.00 C*( カラー印刷 )
0026.00 C*----------------------------------------------------+
0027.00 C                   WRITE     COLPRT
0028.00 C*----------------------------------------------------+
0029.00 C*( 画像印刷 )
0030.00 C                   MOVEL(P)  IFS           P1
0031.00 C*----------------------------------------------------+
0032.00 C                   WRITE     GIFPRT
0033.00 C*----------------------------------------------------+
0034.00 C*( 底部印刷 )
0035.00 C*----------------------------------------------------+
0036.00 C*                  WRITE     BOTPRT
0037.00 C*----------------------------------------------------+
0038.00 C     END           TAG
0039.00 C                   SETON                                        LR
0040.00 C******************************************************
0041.00 C     *INZSR        BEGSR
0042.00 C******************************************************
0043.00 C*  初期 サイクル のみの実行
0044.00 C                   MOVE      UDATE         YYMMDD
0045.00 C                   BITOFF    '06'          QUOT              1
0046.00 C                   BITON     '123457'      QUOT              1
0047.00 C                   ENDSR
【作成】
CRTBNDRPG PGM(SPOOLWTR/CRTEXPRTF) SRCFILE(R610SRC/QRPGLESRC) DFTACTGRP(*NO)
              ACTGRP(*NEW) DBGVIEW(*SOURCE) AUT(*ALL)

BARCOD (バーコード) キーワード

キーワードの形式

BARCOD(バーコード形式 高さ 幅 [回転] [トリム])

BARCOD キー・ワードを SEU や PDM で入力すると文法上の警告エラー

「このファイル・タイプではキーワード 'BARCOD' は正しくない 」

とのエラーが表示されますが、無視して終了して
SEU の「編集に戻る」を Y から N にしてメンバーの変更/作成を Y にして終了してください。

バーコード形式
バーコード
形式
データ
タイプ
桁数使用可能な
文字
備考
CODE39A1〜50ABCDEFGHI
JKLMNOPQR
STUVWXYZ
-.$/+%
半角ブランク
チェック・ディジットなし
CODE39CDA1〜50ABCDEFGHI
JKLMNOPQR
STUVWXYZ
-.$/+%
半角ブランク
チェック・ディジットあり
CODEABAR
または
NW-7
A1〜500〜9
-.$/+:
ABCD (文字列の最初と最後のみ)
JISで「コーダバー(NW-7/Codabar)」として制定されているバーコード。
データの最初と最後の文字は、A/B/C/Dのいずれかでなければならない。A/B/C/Dはデータの途中には指定できない。
CODE128A1〜50CODE128の印字については、下記、「CODE128の生成」をご覧下さい。
JAN13A or S120〜913桁目のチェック・ディジットは自動計算される。
JAN13A or S130〜913桁目は計算済みのチェック・ディジットとして扱われる。
JAN13A or S140〜9 JAN13 の右側に追加シンボル2桁がつく。
チェック・ディジットなし12桁 + 追加2桁。
チェック・ディジットは自動計算。
JAN13A or S150〜9 JAN13 の右側に追加シンボル2桁がつく。
チェック・ディジットつき13桁 + 追加2桁。
JAN13A or S170〜9 JAN13 の右側に追加シンボル5桁がつく。
チェック・ディジットなし12桁 + 追加5桁。
チェック・ディジットは自動計算。
JAN13A or S180〜9 JAN13 の右側に追加シンボル5桁がつく。
チェック・ディジットつき13桁 + 追加5桁。
JAN8A or S70〜98桁目のチェック・ディジットは自動計算される。
JAN8A or S80〜98桁目は計算済みのチェック・ディジットとして扱われる。
QRCODEA or O1〜7089英数記号/漢字 QRCODEの印字については、下記「QRコードの生成」をご覧ください。
高さ・幅

バーコードが占めることのできる最大の大きさを、行数・桁数で指定する。
バーコードの大きさは、この領域からはみ出さない範囲で最大の大きさとなるように、自動調整される。

回転

省略可能。省略された場合は *R0 と見なされる。

*R0回転しない。
*R90時計回りに90度回転する。
*R180時計回りに180度回転する。
*R270時計回りに270度回転する。
トリム

バーコード化する際に、フィールド値末尾のブランク文字を除去するかどうかを指定します。

省略可能。省略された場合は *NOTRIM と見なされます。

*TRIMフィールド値末尾のブランク文字を除去します。
*NOTRIMフィールド値末尾のブランク文字を除去しません。
バーコードには、末尾ブランク文字が含まれたままとなります。
※CODEABAR(NW-7)の場合は、ブランク文字を含めることが出来ないため、自動的にトリムが行われます。このパラメータを指定する必要はありません。
目視可能文字(HRI)

バーコードの上または下に、人間の目で読める文字列を出力します。

省略可能。省略された場合は、文字列を出力しません。

*HRIバーコード下部に文字列を出力します。
*HRITOPバーコード上部に文字列を出力します。
【サンプルDDS】
0001.00 A**********************************
0002.00 A*  IGCLABELF :  漢字サンプル印刷 *
0003.00 A**********************************
0004.00 A*
0005.00 A*( 見出し行 )
0006.00 A          R COLPRT
0007.00 A                                      DFNLIN(*HRZ 2 2 40)
0008.00 A                                      DFNLIN(*HRZ 5 2 40)
0009.00 A                                  1  4' 漢字印刷サンプル '
0010.00 A                                      CHRSIZ(2)
0011.00 A                                  4 10'< カラー・サンプル >'
0012.00 A                                  7  3' 黒色 '
0013.00 A                                      COLOR(BLK)
0014.00 A                                  7 13' 青色 '
0015.00 A                                      COLOR(BLU)
0016.00 A                                  7 23' 茶色 '
0017.00 A                                      COLOR(BRN)
0018.00 A                                  7 33' 緑色 '
0019.00 A                                      COLOR(GRN)
0020.00 A                                  9  3' ピンク '
0021.00 A                                      COLOR(PNK)
0022.00 A                                  9 13' 赤色 '
0023.00 A                                      COLOR(RED)
0024.00 A                                  9 23' 空色 '
0025.00 A                                      COLOR(TRQ)
0026.00 A                                  9 33' 黄色 '
0027.00 A                                      COLOR(YLW)
0028.00 A*( 明細行 )
0029.00 A          R GIFPRT
0030.00 A                                      DFNLIN(*HRZ 11 2 40)
0031.00 A                                      DFNLIN(*HRZ 14 2 40)
0032.00 A                                 13 10'< 画像サンプル >'
0033.00 A                                 16  2' バイク '
0034.00 A                                 16 12IMAGE('/AS400-NET.USR/IMG/B
0035.00 A                                      JPG' 5 8)
0036.00 A                                 16 23' 電車 '
0037.00 A                                 16 33IMAGE('/AS400-NET.USR/IMG/R
0038.00 A                                      .JPG' 5 8)
0039.00 A                                 22  2' ライダー '
0040.00 A                                 22 12IMAGE(&P1 5 8)
0041.00 A            P1            32A  P
0042.00 A                                 22 23' 飛行機 '
0043.00 A                                 22 33IMAGE('/AS400-NET.USR/IMG/D
0044.00 A                                      JPG' 5 8)
0045.00 A*( 合計行 )
0046.00 A          R BOTPRT
0047.00 A*                                     BOX(4 12 10 32)
0048.00 A                                      DFNLIN(*HRZ  4 12 20)
0049.00 A                                      DFNLIN(*VRT  5 12 6)
0050.00 A                                      DFNLIN(*HRZ 10 12 20)
0051.00 A                                      DFNLIN(*VRT  5 32 6)
0052.00 A                                      DFNLIN(*HRZ 36 12 20)
0053.00 A                                      DFNLIN(*VRT 31 32 6)
0054.00 A                                 27 10'< BOXのサンプル >'
0055.00 A*( バーコード行 )
0056.00 A          R BARPRT
0057.00 A                                      DFNLIN(*HRZ 37 2 40)
0058.00 A                                      DFNLIN(*HRZ 40 2 40)
0059.00 A                                 39 10'< バー・コードのサンプル >
0060.00 A            PRDCOD         8A    42 10BARCOD(CODE39 2 26)

QRコードの生成 (追加オプション)

※ QRコードを出力するには、追加オプションのご契約が必要です。

QRコードを生成するには、フィールド・レベルのキーワード BARCOD(QRCODE)を使用します。

BARCOD(QRCODE 高さ 幅 [トリム] [誤り訂正レベル])

このキーワードを指定したフィールドが、QRコードとして印字されます。

フィールドのデータ・タイプと桁数

データ・タイプには A もしくは O を指定します。

フィールド桁数には、1〜7089を指定します。

但し、QRコードに格納可能な桁数は、フィールドに実際にセットされた文字の種類と、後述の「誤り訂正レベル」によって変化します。 7089桁格納可能なのは、フィールド値がすべて数字であり、「誤り訂正レベル」が *EC0 の場合です。 フィールド値に英字や漢字が混ざったり、「誤り訂正レベル」を高くした場合は、格納可能な桁数は減少します。

フィールド値がQRコードに格納出来ない場合は、QRコードが印字される代わりにブランクとなり、ジョブ・ログに通知メッセージが出力されます。

フィールド値にいかなるデータが入力された場合でもQRコードが印字されるようにするには、フィールド桁数を、「誤り訂正レベル」に応じて下記の値以下にして下さい。

誤り訂正
レベル
最大桁数
*EC0 2953
*EC1 2331
*EC2 1663
*EC3 1273

高さ・幅

バーコードが占めることのできる最大の大きさを、行数・桁数で指定します。
バーコードの大きさは、この領域からはみ出さない範囲で最大の大きさとなるように、自動調整されます。

トリム

QRコード化する際に、フィールド値末尾のブランク文字を除去するかどうかを指定します。
省略可能。省略された場合は *NOTRIM と見なします。

*TRIMフィールド値末尾のブランク文字を除去します。
*NOTRIMフィールド値末尾のブランク文字を除去しません。
QRコードには、末尾ブランク文字が含まれたままとなります。
誤り訂正レベル

QRコードは「誤り訂正能力」を持っており、コードが汚れていたりして正確に読み取れなかった場合でも、ある程度はデータを復元することが出来ます。 この誤り訂正能力には4段階あり、パラメータで指定可能です。

*EC0誤り訂正レベル L。QRコードの最大7%が読み取れなかった場合でも復元可能。
*EC1誤り訂正レベル M。QRコードの最大15%が読み取れなかった場合でも復元可能。
*EC2誤り訂正レベル Q。QRコードの最大25%が読み取れなかった場合でも復元可能。
*EC3誤り訂正レベル H。QRコードの最大30%が読み取れなかった場合でも復元可能。

「誤り訂正レベル」を高くすると、汚損には強くなるものの、QRコード自体が細かく複雑になるため読み取りにくくなったり、読み取りに時間がかかるようになったりします。

省略した場合には、*EC0が指定されたと見なします。

【サンプルDDS】
                  FLD1          24A     2  2BARCOD(QRCODE 6 10) 
                  FLD2        1000O       42BARCOD(QRCODE 6 18 *TRIM *EC3)

CODE128の生成

CODE128で使用可能な文字

CODE128では、下記の文字が使用可能です。

  • 半角英大文字
  • 半角英小文字
  • 半角数字
  • 半角スペース
  • 半角記号

ファンクション・キャラクタ(FNC1/FNC2/FNC3)には現時点では対応していません。 ファンクション・キャラクタの入力が必要な場合は、お問い合わせ下さい。

OVERLAY (オーバーレイ) キー・ワード

OVERLAYキー・ワードを使うと画像イメージと重ね合わせて (オーバーレイ) 印刷することができます。
オーバーレイ印刷したスプールを CVTSPLF コマンドによって PDF化 または印刷すると
画像イメージと印刷データが重ね合わせて (オーバーレイ) 出力されます。

例えば今まで連続用紙に印刷されていた専用用紙の上に印刷していた業務があるとします。
この専用用紙を一枚だけコピー機などの複合機でスキャンして画像ファイルとして保管します。
この画像ファイルの上に重ね合わせて印刷すれば結果として
あたかも専用用紙に印刷されたかのような PDF化 や印刷を行うことができます。
このことを オーバーレイ印刷 と呼びます。

オーバーレイ印刷をすると高価な専用用紙に印刷する必要はなくなります。
用紙だけでなく 5250 専用の連続紙を印刷する高価なプリンターさえ廃止できます。
高価なプリンターの廃止によってハードウェア保守を安くするだけでなく
用紙替えや印字の位置あわせ、用紙のセット、用紙の切断など
今まで人手を要していた作業からも解放されます。

出力した後も用紙イメージとともに HDD 電子媒体に永久保管できますので
用紙の保管場所の確保や印刷の経年劣化の心配も不要です。

このようにオーバーレイ印刷に変えるだけで伝統的な専用用紙への
印刷からの解放は物理コスト、人的コストを削減し時間の節約、
IT 電子帳票化による効果をたちまち実現することができます。

キー・ワードの形式

OVERLAY('画像ファイルのパス' 下方向オフセット 横方向オフセット)

【例】OVERLAY('/SPOLWTR/DENPYO.JPG' 0 1.35)

OVERLAYキー・ワードの使用方法

OVERLAYキー・ワードはその印刷ファイル (PRTF) 内で最初に
出力される印刷レコードのみに記述してください。

OVERLAYキー・ワードは必ずレコード毎にフィールド記述の直前に
レコード・レベルとして記述してください。

OVERLAYキー・ワードは CRTEXPRTFコマンドの 前面オーバーレイ (FRONTOVL)
パラメータを指定するのと同じことになります。
前面オーバーレイ (FRONTOVL) を指定した場合も OVERLAYキー・ワードの
記述が最初の印刷レコードに挿入されます。
これに対して OVERLAYキー・ワードを使用することは手動で明示的に
DDS に OVERLAYキー・ワードを挿入することになります。

画像ファイルのパス

128バイト 以内で画像ファイルのフル・パス名を指定します。
画像ファイルは JPG または PNG 形式としてください。

画像が他の PC や PC サーバーに保管されているときは
QNTC 経由での表示を指定してください。
また他の PC や PC サーバーである場合、IBM i から参照するときには
必ず電源が ON になっている PC または PC サーバーに保管してください。
画像ファイルが保管されている PC に電源が入っていないと
QSYSOPR に警告メッセージが報告されます。

下方向オフセット

画像ファイルと印刷を重ね合わせるときに画像を下方向にずらす長さを
1/1000センチ (CM) 単位で指示します。( -57.790 〜 57.790 CM )
オフセット値は画像を印刷イメージより下の方向に移動させます。
このオフセット値はマイナス値も指定することができます。
マイナス値を指示することは画像を印刷イメージより上に移動することを意味しています。

横方向オフセット

画像ファイルと印刷を重ね合わせるときに画像を右方向にずらす長さを
1/1000センチ (CM) 単位で指示します。( -57.790 〜 57.790 CM )
オフセット値は画像を印刷イメージより右の方向に移動させます。
このオフセット値はマイナス値も指定することができます。
マイナス値を指示することは画像を印刷イメージより左に移動することを意味しています。

CVTSPLF コマンドの使用法の注意点

オーバーレイ印刷で印刷した後で CVTSPLF によって PDF 化または
印刷すれば初めて重ね合わせ印刷が完成します。
このとき CVTSPLF の実行は必ずページ・サイズ・パラメータで
*CUSTOM と指定してページ幅,用紙長,単位 (*INCH) も明示的に指定してください。
用紙長は 11インチ、単位は *INCH 、用紙幅は
実際の用紙の幅 (=印刷桁数/10) をインチ単位で指定してください。

POSITION (位置指定)キー・ワード

POSITION キー・ワードはフィールド・レベルのキー・ワードであり
出力フィールドの位置を再指定することができます。
IBM DDS マニュアルでは、POSITION キー・ワードは AFP (*AFPDS) に
有効であるとされていますが、CRTEXPRTF によって生成する場合は
*SCS であっても POSITION キー・ワードによって位置指定することができます。

POSITION(位置)キー・ワードが役に立つのは OVERLAY キー・ワードと
ともに印刷を指定した場合に、出力フィールドの位置を微妙に細かな値に
調整することができることです。
一般に DDS の出力指定は (行, 桁) (=どちらも自然数) による
指定に限られていますが、POSITION キー・ワードでは
小数点以下 2桁までの細かな指定が可能となります。
また絶対位置の指定だけでなく、現在指定されている(行,桁)からの
相対位置の指定も可能です。

このことは OVERLAY キー・ワードによって専用用紙の用紙イメージに
重ね合わせて印刷しようとするときに、用紙イメージに対して
各フィールド毎に細かな位置合せが可能になります。

キー・ワードの型式

POSITION(行、桁)

フィールドの印刷位置を POSITION で指定した場所に移動して印刷します。
行、桁は小数点以下 2桁まで指定することができます。
行および桁はどちらも指定が必要です。
どちらかを省略することはできません。

【例】
       A       SURYO          9Y 0    13
       A                                POSITION(2.10 45.32)
【指定の方法】

DDS のフィールドとは別の行に新たに指定してください。

【誤った指定の方法】
       A       SHCODE        25A  O    85POSITION(6 145)
【正しい指定の方法】
       A       SHCODE        25A  O    85
       A                                            POSITION(6 145)
【相対位置の指定】

絶対位置の指定に対して、符号を数字の前に付加して記述すると
相対位置の指定と見なされて現在の位置に対する相対位置を
指定することができます。

【例】
       A         BHNCOD       14A  O     20
       A                                              POSITION(+10 -1)
【説明】

POSITION(+10 -1) は現在の位置より +10桁、つまり
20+10= 30桁目に印刷することを意味します。

POSITION キー・ワードはまた標識とともに指定することも可能です。

【例】
       A       SURYO          9Y 0    13
       A  42                              POSITION(2.10 45.32)

※ POSITION キー・ワードを指定すると SEU のエラーになる場合がありますが
    無視して上書きで保存してください。
※ POSITION キー・ワードを指定した場合は CRTPRTF ではなく
    必ず CRTEXPRTF コマンドによって印刷ファイル(PRTF)を作成してください。

CHRSIZ (文字サイズ) キー・ワード

CHRSIZ(文字サイズ)キー・ワードもまた IBM DDS 解説書によれば、使用できるのは
AFP (*AFPDS)に限られていますが、CRTEXPRTF (拡張印刷ファイルの作成)を使えば
*SCS 印刷ストリームでも使用することができます。

CHRSIZ(文字サイズ)キー・ワードを使えば印刷文字列を通常のサイズより
拡大または縮小することができます。
このことにより OVERLAY キー・ワードと合せて使用して専用用紙イメージに
正確なフォント・サイズの調整ができるようになります。

キー・ワードの型式

CHRSIZ(比率)

または

CHRSIZ(横比率 縦比率)

の型式で、比率の夫々は小数桁 2位まで指定することができます。
CHRSIZ(比率) のように比率をひとつだけ指定した場合は
縦方向・横方向とも同じ比率で拡大または縮小が行われます。
CHRSIZ(横比率 縦比率)のようにどちらも指定すれば
横方向の比率と縦方向の比率をそれぞれ指定することができます。

【例】
       A            DLNAME        42O  O     6                          
       A                                      TEXT(' ディーラー名称 ')  
       A                                      CHRSIZ(1 2)               
【指定の方法】

DDSのフィールドとは別の行に新たに指定してください。

【誤った指定の方法】
       A       SHCODE        25A  O    85CHRSIZ(2.5)
【正しい指定の方法】
       A       SHCODE        25A  O    85
       A                                           CHRSIZ(2.5)
・POSITIONキー・ワードとの併用

POSITION キー・ワードと併用して指定することができますが
同じ行にまとめて記述するのではなくそれぞれ別の行に指定してください。

【例】
       A            COLOR         25A  O    85               
       A                                      TEXT(' 色 ')   
       A                                      POSITION(6 145)
       A                                      CHRSIZ(0.7)    

予約キー・ワード

従来のIBM のCRTPRTFコマンドでは CRTPRTFの省略値のキー・ワードと異なる印刷ファイルを
再作成するときには予め既存の印刷ファイル(PRTF)の設定値を調べておいてから
CRTPRTFで再作成しないと以前の値が失われてしまいました。
例えば用紙サイズPAGESIZEを PAGESIZE(158 66) で作成されているPRTFを再作成するときに
正しく用紙サイズを元のPRTFのサイズに指定するのを忘れると
省略値のPAGEESIZ(132 66)で作成されてしまいます。

このときに誤りを気付かなければ本番稼動に支障を来たす可能性もありました。
このようなミスを無くすために CRTEXPRTF ではファイル・レベルでDDSソースに
これらのキー・ワードを記述しておくと再作成のときにも
DDSソースで指定した値で設定される機能が追加されました。

このようなキー・ワードを予約キー・ワードと呼びます。
省略値の値と異なる印刷ファイルを作成するときはCRTEXPRTFで予約キー・ワードとして
指定しておくと再作成のときのミスを防ぐことかできます。

予約キー・ワードとして次のキー・ワードをDDSファイル・レベルで
指定することができます。
キー・ワード 使用方法
PAGESIZE PAGESIZE(行 幅) [例] PAGESIZE(66 132)
OVRFLW OVRFLW(オーバー・フロー行) [例] OVRFLW(60)
LPI LPI(1インチ当たりの印刷行数) [例] LPI(8)
CPI CPI(1インチ当たりの文字数) [例] CPI(15)

AFPスプール対応

AFPスプールもSpoolライターVer5.0のCVTSPLFコマンドによって
PDF化できますが内部では IBM CPYSPLFコマンドによって
AFPスプールをPDF化します。
しかしそのままのAFPスプールをCPYSPLFでPDF化したのでは
CHRSIZ, HIGHLIGHTキー・ワードがCPYSPLFによって
無視されてしまいます。
そこでこのCRTEXPRTFでAFP印刷ファイルを作成してから
AFPスプールを出力するようにすればCHESIZ, HIGHLIGHTキー・ワードも
有効に機能するようになりますのでAFPを使う場合は
AFP印刷ファイルを必ずこのCRTEXPRTFで作成したAFP印刷ファイルを使って
AFPスプールを作成するようにしてください。

AFP印刷ファイル作成の留意点

CRTEXPRTFコマンドで印刷装置タイプに*AFPDSと指定すると
次のパラメータがAFP用として初期設定されます。
これらは初期設定されたままで作成してください。

    ・ユーザー指定の DBCS データ  : *YES
                                                 
   ・コード化フォント  . . . . . .   XCON16V        名前 , *FNTCHRSET    
       ライブラリー  . . . . . . .     QFNT61       名前 , *LIBL, *CURLIB
     ポイント・サイズ  . . . . . .   *NONE         .1-999.9, *NONE     

  ・ DBCS コード化フォント   . . .   XCON32F        名前 , *SYSVAL        
      ライブラリー  . . . . . . .     QFNT61       名前 , *LIBL, *CURLIB 
    ポイント・サイズ  . . . . . .   *NONE         .1-999.9, *NONE

CRTEXPRTFによるAFPキー・ワードの変更

AFPキー・ワードのうちCHRSIZ, HIGLIGHTキー・ワードは
CPYSPLFによって無視しますので CRTEXPRTFはそれぞれのキー・ワードを
次のように同等の機能のキー・ワードに置換えます。
これによって元のCHRSIZ, HIGLIGHTキー・ワードの機能を発揮することが
できるようになります。

元のAFPキー・ワード 置換えの内容
CHRSIZ HIGHLIGHT
漢字 ANK
× IGCCDEFNT(QFNT61/X0N32F (*POINTSIZE 20 10))
× CDEFNT(QFNT61/X0N16V (*POINTSIZE 20 10))
× × IGCCDEFNT(QFNT61/X0M32F (*POINTSIZE 20 10))
× × CDEFNT(QFNT61/X0N16V (*POINTSIZE 20 10))
× × CDEFNT(QFNT61/X0N16V (*POINTSIZE 10 10))
× × × - なし -