|目次|前ページ|次ページ|
─────────────────────────────────────
■ 直接出力モードとバーコード印刷
スプーラを経由しない印刷出力を意味します
■ 直接出力モードとバーコード印刷のサンプルプログラム
ZSIMSAMP / ZSIMSAM2 にバーコードとフォームオバーレイ的機能の
サンプルがあります。
ZSIMJAN にバーコード(JAN)サンプルがあります。
ZSIMC128 にバーコード(CODE128)サンプルがあります。
ZSIMCD39 にバーコード(CODE39)サンプルがあります。
ZSIMNW7 にバーコード(NW7)サンプルがあります。
ZSIMYBIN にバーコード(郵便)サンプルがあります。
ZSIMBITM にビットマップ印刷のサンプルがあります。
ZSIMGDI2 にGDI描画サンプルがあります。
これらは、開発キット ZSIMLP.RSAに含まれています。
─────────────────────────────────────
<<<留意点>>>
(*) CANONバーコードフォント(SmileWare Colection) 等が必要です
(*) 副フォントは1->64まで拡張されました(要Download)
(1->5)を(51->55)に変更しました
(*) 縦方向の印刷方法を提供
フォント情報の EscapementとOrientationを適切に設定します
(*)テキスト印字位置指定に小数点を指定可(ドット位置は無視)
***小数点以下は1/100単位で有効***
***あえてヘルプドキュメントにありませんが機能します***
─────────────────────────────────────
<<<留意点>>>
CN-JANCODE(高さ標準)/CN-JANCODE2(高さ0.5倍)/CN-JANCODE3(高さ1.5倍)
CODE-39ではスペースコードはアンダースコア(_)を出力してください
CANON Smileware collection はコピーフリーです(プリンタ購入すれば)
横倍角/(*)リバース/ハイライト/アンダーライン/イタリック/通常属性
<esc>#6 / <esc>[7m / <esc>[1m / <esc>[4m / <esc>[2m / <esc>[m
(*)リバース/通常属性は副フォントでも表示可能です
<*>フォントの高さ指定は正の値は内部リーデングを含まない
負の値は内部リーデングを含むドット高さを指定します。
─────────────────────────────────────
<<<バーコード印刷処理手順>>>
─────────────────────────────────────
[1] 標準的な初期化処理
setstr=$$WpInit^ZSIMLP0() <<標準的な初期化処理>>
[2] <<プリンタにグラフィックス描画する場合のみ>>
setstr=$$WpGDIEna^ZSIMLP1()
[3] 標準的なオープン処理
setstr=$$WpOpen^ZSIMLP0() <<標準的なオープン処理>>
[4] 印字行桁位置を指定
setstr=$$WpLcPos^ZSIMLP1(x,y) (小数点)
<<プリンタメインフォントで印字行桁位置を指定>>
setstr=$$WpXYPos^ZSIMLP1(x,y,dotx,doty)(小数点)
<<プリンタメインフォントで印字行桁+−差分ドット位置を指定>>
setstr=$$WpCurPos^ZSIMLP1(x,y)
<<プリンタ現在フォントで印字行桁位置を指定>>
[5] バーコード出力文字列を出力
setstr=$$WpPut39^ZSIMLP1(BAR,x,y,dotx,doty) ==>#55
setstr=$$WpPut39OCR^ZSIMLP1(BAR,x,y,dotx,doty) ==>#51
setstr=$$WpPutNW7^ZSIMLP1(BAR,x,y,dotx,doty) ==>#53
setstr=$$WpPutJAN^ZSIMLP1(BAR,x,y,dotx,doty) ==>#54
*** 必要ならば [4] に戻ってください
[6] 標準的なクローズ処理
setstr=$$WpClose^ZSIMLP0() <<標準的なクローズ処理>>
[7] 画面にグラフィックス描画モード
setstr=$$WpGDIDis^ZSIMLP1()
<<プリンタにグラフィックス描画する場合のみ>>
[8] 標準的な終了処理
setstr=$$WpTerm^ZSIMLP0() <<標準的な終了処理>>
─────────────────────────────────────
<<<副フォントのダウンロード切替え処理手順>>>
─────────────────────────────────────
[1] 副フォント削除&再設定(次にフォントを選択のこと)
setstr=$$WpCngSF^ZSIMLP1(font,LogFont)
ここで font=フォント番号(1から64)
LogFont=LOGFONT構造体にセットする値(NULLの場所は前の値のまま)
[2] 副フォント印字モードに切替(フォント選択)
setstr=$$WpSubFnt^ZSIMLP1(font) カレントフォントが変更されます
ここで font=フォント番号(1から64)
─────────────────────────────────────
<<<メインフォントのダウンロード切替え処理手順>>>
─────────────────────────────────────
[1] メインフォント削除&オープン(変更)
setstr=$$WpCngF0^ZSIMLP1(LogFont)
ここで font=フォント番号(1から64)
[2] メインフォントの行間/桁間/含む外部リーディングの指定
setstr=$$WpMSpace^ZSIMLP1(linedot,columndot,extleading)
[*]JAN-Code共通関数
setstr=$$WpJAN13^ZSIMLP1(JAN)
<<数字12桁からチェック桁を付加してフォント用文字列変換(共通関数)>>>
setstr=$$WpJAN8^ZSIMLP1(JAN)
<<数字7桁からチェック桁を付加してフォント用文字列変換(共通関数)>>>
[*] 副フォントへの切替えをスプール出力
setstr=$$WpSel39^ZSIMLP1() <<<現在CODE39#55選択>>>
setstr=$$WpSel39OCR^ZSIMLP1() <<<現在CODE39OCR#51選択>>>
setstr=$$WpSelJAN^ZSIMLP1() <<<現在JANコード#54選択>>>
setstr=$$WpSelNW7^ZSIMLP1() <<<現在NW-7コード#53選択>>>
setstr=$$WpSelSmall^ZSIMLP1() <<<現在小さなフォント#52選択>>>
─────────────────────────────────────
<<プリンタ出力モード中に文字列(含むシーケンス)を画面表示したい>>
$$RWpPutScr^ZSIMLP1(str)
[*]GDI描画関数(小数点)
str=$$WpLine^ZSIMLP1(x1,y1,x2,y2,dotx1,doty1,dotx2,doty2,p1,p3,p4,p5)
直線
str=$$WpBox^ZSIMLP1(x1,y1,x2,y2,dotx1,doty1,dotx2,doty2,p1,p3,p4,p5)
ボックス
str=$$WpBoxFil^ZSIMLP1(x1,y1,x2,y2,dotx1,doty1,dotx2,doty2,p1,p3,p4,p5)
ボックス塗り潰し
str=$$WpCircle^ZSIMLP0(xc,yc,xr,yr,dotxc,dotyc,dotxr,dotyr,p1,p2,p3,p4)
円/楕円
str=$$WpElipse^ZSIMLP0(xc,yc,xr,yr,dotxc,dotyc,dotxr,dotyr
楕円 ,x1,y1,x2,y2,dotx1,doty1,dotx2,doty2,p1,p2,p3,p5)
str=$$WpArc^ZSIMLP0(xc,yc,xr,yr,dotxc,dotyc,dotxr,dotyr
円弧 ,x1,y1,x2,y2,dotx1,doty1,dotx2,doty2,p1)
str=$$WpPaint1^ZSIMLP0(x1,y1,dotx1,doty1,c1,c2) 塗り潰し
str=$$WpPaint2^ZSIMLP0(x1,y1,dotx1,doty1,c1,c2,c3) 塗り潰し
str=$$WpPSet^ZSIMLP0(x1,y1,dotx1,doty1,c1) 点を描画
str=$$WpInvAll^ZSIMLP0() 描画領域全体を白黒反転
str=$$WpInvRect^ZSIMLP0(x1,y1,x2,y2,dotx1,doty1,dotx2,doty2)
描画領域の一部を白黒反転
─────────────────────────────────────
[*]マージン設定関数
─────────────────────────────────────
dmy=$$WpMgnRect^ZSIMLP1(x1,y1,x2,y2)
マージン設定(プリンタオープン前)
x1=左,y1=上,x2=右,y2=下ドットマージン(印字可能外枠からのドット数)
str=$$WpMgnLR^ZSIMLP1(x1,x2)
line=$$WpWrite^ZSIMLP0(setstr)プリンタ印刷データ文字列設定
左右マージン設定(プリンタオープン前or後)
str=$$WpMgnTB^ZSIMLP1(y1,y2)
line=$$WpWrite(setstr)プリンタ印刷データ文字列設定
上下マージン設定(プリンタオープン前or後)
*** 直接位置指定ではマージン外でも印字してしまいます
─────────────────────────────────────
[*]縦書き/デバイスモード/デバイス名設定関数
[1]自動改行モード
str=$$WpAutoWrap^ZSIMLP1(yesno)
yesno=(0:自動改行する(横書き),1:しない(縦書き))
[2]プリンタオープン時の方法
str=$$WpDialog^ZSIMLP1(yesno)
yesno=(0:デフォルトプリンタ,1:ダイアログボックス)
[3]印刷ダイアログボックスの内容を変更して初期化
str=$$WpInitDlg^ZSIMLP1(devmode,devname)
devmode=デバイスの名前$用紙方向$用紙サイズ$...$
ex. "\PRAHA\Canon LASER SHOT LBP-910$1$3$..."
devname=ドライバ名$デバイスの名前$ポート名$
ex. "winspool$\PRAHA\Canon LASER SHOT LBP-910$Ne00:"
[*]両面印刷/印刷密度の設定(印刷ダイアログボックス使用時)
─────────────────────────────────────
[*]郵便カスタマバーコード印字用文字列を作成
barstr=$$WpYubin^ZSIMLP2(postno7,address)
postno7<--郵便番号7桁
address<--日本語住所(丁目以降なら正確)
*** 日本語住所に県や市から渡した場合は稀に間違う場合があります ***
[*]郵便カスタマバーコード印字シーケンスを作成
setstr=$$WpPutYBN^ZSIMLP1(BAR,x,y,xdot,ydot)
*** 縦方向に印刷したい場合はフォントの方向を設定します ***
[*]郵便カスタマバーコード選択シーケンスを作成(フォント番号=50)
setstr=$$WpSelYBN^ZSIMLP1()
─────────────────────────────────────
<<<[準備関数]>>>
[1]ラスターオペレーションの指定(0:SRCCOPY)
str=$$WmROpe^ZSIMLP3(ope)
[2]ブラシの指定
str=$$WmBrush^ZSIMLP3(mode,opt,clr)
[3]ビットマップ番号データの削除
str=$$WmDelete^ZSIMLP3(bitm)
[4]ビットマップ番号データの全削除
str=$$WmAllDel^ZSIMLP3()
<<<[ファイルから読込保存関数]>>>
[1]ダイアログボックスから読込->ビットマップ番号に格納
str=$$WmReadDlgg^ZSIMLP3(bitm) *** .WmP or .DIB
[2]指定ファイルから読込->ビットマップ番号に格納
str=$$WmReadFL^ZSIMLP3(bitm,path) *** .WmP or .DIB
[3]ダイアログボックスから->ファイルに保存
str=$$WmSaveDlg^ZSIMLP3(bitm) *** .WmP or .DIB
[4]ビットマップ番号から->ファイルに保存
str=$$WmSaveFL^ZSIMLP3(bitm,path) *** .WmP or .DIB
<<<[ビットマップ処理関数]>>>
[1]イメージデータのセイブ->ビットマップ番号に格納[等倍]
str=$$WmGetDot^ZSIMLP3(bitm,x1,y1,x2,y2)
[2]ビットマップ番号からイメージデータの復元[等倍]
str=$$WmPutDot^ZSIMLP3(bitm,x1,y1,x2,y2,mode)
[3]イメージデータのセイブ[等倍]
str=$$WmGetImg^ZSIMLP3(bitm,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh)
[4]ビットマップ番号からイメージデータの復元[等倍]
str=$$WmPutImg^ZSIMLP3(bitm,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh)
[5]イメージデータの転写(拡大/縮小)[xy方向非等倍率]
str=$$WmCopyA^ZSIMLP3(Wm1,Wm2,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh)
[6]ビットマップ番号(Wm2)からビットマップ番号(Wm1)[新規作成]へ転写
str=$$WmCopyB^ZSIMLP3(Wm1,Wm2,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh,
(拡大/縮小) sx,sy,sw,sh,dotsx,dotsy,dotsw,dotsh)[xy方向非等倍率]
[7]ビットマップ番号(Wm2)からビットマップ番号(Wm1)[既存]へ転写
str=$$WmCopyC^ZSIMLP3(Wm1,Wm2,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh,
(拡大/縮小) sx,sy,sw,sh,dotsx,dotsy,dotsw,dotsh)
<<<[ブラシ描画関数]>>>
[1]画面/LPにブラシ描画
str=$$WmPatB1^ZSIMLP3(dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh)
[2]bitmapにブラシ描画
str=$$WmPatB2^ZSIMLP3(bitm,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh)
<<<(拡大/縮小)関数>>>
[1]倍率を指定して拡大/縮小[xy方向等倍率](ex. x=2 x=1.5 y=2/3)
str=$$WmZoom^ZSIMLP3(Wm1,Wm2,x,y)
[2]拡大/縮小(x方向サイズを指定)[xy方向等倍率]
str=$$WmZoomX^ZSIMLP3(Wm1,Wm2,dw,dotdw)
[3]拡大/縮小(y方向サイズを指定)[xy方向等倍率]
str=$$WmZoomY^ZSIMLP3(Wm1,Wm2,dh,dotdh)
<<<サイズを取得>>>
[1]ビットマップサイズを取得
str=$$WmBmpSize^ZSIMLP3(bitm)
─────────────────────────────────────
7-1
|目次|前ページ|次ページ|