ラベルプリンタメーカ「SATO」のラベル発行コンポーネント(MLComponent.dll)を使ったラベル印刷の紹介ですが、 レイアウトファイルとプリンタドライバを利用して行います。 USBへの直接出力もできるようですが、制御が難しい様なので、プリンタドライバへの出力で印刷します。
■印刷用レイアウトファイル
ラベル印刷を簡単に行うにはレイアウトファイルが必要になります。 このレイアウトファイルですがSATOが提供する「SATO Multi LABELIST V5 [MLデザイン]」で作成します。 Trail(試用)のままでも1個のファイルは生成が可能ですので、以下のURLからダウンロードしてみてください。
・Multi LABELIST V5
今回使用するレイアウトファイルの編集中の画面を以下に示します。 連番(NO)、日付、品番、QRコードのみを印刷する簡単なレイアウトで、デザインを作成したところです。
また、下図は印刷の定義順の設定の画面です。
定義順は1:連番(NO)、2:日付、3:品番、4:QRコード となっています。
実際のプログラムでのデータ設定の順番は、定義順に行います。
■プリンタ状態チェック関数
関数内の処理は以下の手順で行います。
(1)「MLComponent」のインスタンスを生成します。
(2)レイアウトファイルの設定
「MLComponent」の「LayoutFile」プロパティに、[MLデザイン]で作成されたレイアウトファイルを設定します。
(3)印刷データの設定
「MLComponent」の「PrnData」プロパティに、印刷データを設定します。
印刷データは印刷定義順に従って、各データを「タブ」文字を挟んで文字列で連結します。
最後に「印刷枚数」をさらに「タブ」文字を挟んで追加連結します。(今回は1枚なので"1"を連結)
(4)出力先の設定
「MLComponent」の「Setting」プロパティに、プリンタドライバ名を指定します。 (今回は「Lesprit412v」プリンタなので"DRV:SATO Lesprit412v")
(5)接続処理
「MLComponent」の「OpenPort」メソッドで接続します。
(6)発行処理
「MLComponent」の「Output」メソッドでラベル印刷の発行を行います。
(7)切断処理
「MLComponent」の「ClosePort」メソッドで切断します。
■プリンタドライバ
プリンタドライバのプロパティでUSBでの接続にしてあります。
プリンタドライバは以下のURLでダウンロードできます。
・プリンタドライバ・マニュアル
=====
2016/03/09:の時の情報
■印刷用レイアウトファイル
ラベル印刷を簡単に行うにはレイアウトファイルが必要になります。 このレイアウトファイルですがSATOが提供する「SATO Multi LABELIST V5 [MLデザイン]」で作成します。 Trail(試用)のままでも1個のファイルは生成が可能ですので、以下のURLからダウンロードしてみてください。
・Multi LABELIST V5
今回使用するレイアウトファイルの編集中の画面を以下に示します。 連番(NO)、日付、品番、QRコードのみを印刷する簡単なレイアウトで、デザインを作成したところです。
また、下図は印刷の定義順の設定の画面です。
定義順は1:連番(NO)、2:日付、3:品番、4:QRコード となっています。
実際のプログラムでのデータ設定の順番は、定義順に行います。
■プリンタ状態チェック関数
関数内の処理は以下の手順で行います。
(1)「MLComponent」のインスタンスを生成します。
(2)レイアウトファイルの設定
「MLComponent」の「LayoutFile」プロパティに、[MLデザイン]で作成されたレイアウトファイルを設定します。
(3)印刷データの設定
「MLComponent」の「PrnData」プロパティに、印刷データを設定します。
印刷データは印刷定義順に従って、各データを「タブ」文字を挟んで文字列で連結します。
最後に「印刷枚数」をさらに「タブ」文字を挟んで追加連結します。(今回は1枚なので"1"を連結)
(4)出力先の設定
「MLComponent」の「Setting」プロパティに、プリンタドライバ名を指定します。 (今回は「Lesprit412v」プリンタなので"DRV:SATO Lesprit412v")
(5)接続処理
「MLComponent」の「OpenPort」メソッドで接続します。
(6)発行処理
「MLComponent」の「Output」メソッドでラベル印刷の発行を行います。
(7)切断処理
「MLComponent」の「ClosePort」メソッドで切断します。
Module Module1
'SATOプリンタの印刷テスト
Public Sub Main()
Dim str As String = ""
Dim fChk As Boolean = PrintLabel(1, "10001", str)
MsgBox(str)
End Sub
''' <summary>ラベル印刷</summary>
''' <param name="nNo">NO</param>
''' <param name="strHinban">品番</param>
''' <returns>印刷結果(True:OK, False:NG)</returns>
Private Function PrintLabel(ByVal nNo As Integer, _
ByVal strHinban As String,
ByRef strErr As String) As Boolean
'戻り値初期化
PrintLabel = False
'MLComponentの宣言
Dim MLComponent As SATO.MLComponent.MLComponent = New SATO.MLComponent.MLComponent
Try
'レイアウトファイルの設定
MLComponent.LayoutFile = "Layout.mllayx"
'設定データ生成
Dim strData As String = "" 'ヘッダ
strData &= nNo.ToString("00000000") 'NO
strData &= vbTab & Now.ToString("yyyy/MM/dd") '日付
strData &= vbTab & strHinban '品番
'QRバーコードデータ(NO,日付,日付を設定)
Dim strQR As String = ""
strQR = "NO=" & nNo.ToString("00000000") 'NO
strQR &= ",DATE=" & Now.ToString("yyyy/MM/dd") '日付
strQR &= ",HIN=" & strHinban '日付
'QRバーコードデータを設定データに付加
strData &= vbTab & strQR
'発行枚数を設定データに付加
strData &= vbTab & "1"
'データの設定
MLComponent.PrnData = strData
'出力先の設定(プリンタドライバ名を指定します。)
MLComponent.Setting = "DRV:SATO Lesprit412v"
'接続
Dim Result As Integer
Result = MLComponent.OpenPort(1)
If Result <> 0 Then
strErr = "接続エラー No." & Result.ToString
Exit Function
End If
'発行
Result = MLComponent.Output
If Result <> 0 Then
strErr = "発行エラー No." & Result.ToString
Exit Function
End If
'切断
Result = MLComponent.ClosePort
If Result <> 0 Then
strErr = "切断エラー No." & Result.ToString
Exit Function
End If
'戻り値OK
PrintLabel = True
Catch ex As Exception
strErr = "その他エラー :" & ex.ToString
Finally
MLComponent = Nothing
End Try
End Function
End Module
■プリンタドライバ
プリンタドライバのプロパティでUSBでの接続にしてあります。
プリンタドライバは以下のURLでダウンロードできます。
・プリンタドライバ・マニュアル
=====
2016/03/09:の時の情報
PR
コメント