ESC/POS専用フォーマット

概要

使用上の注意

以下の設定は、ESC/POS対応のラベルプリンタを ESC/POSプリンタ制御コマンドを使って動作させる場合のものです。 ESC/POS対応のラベルプリンタ以外には使用できません。

他製品にこれらを適用すると、最悪の場合プリンタ故障が起こる可能性があります。

現時点では富士通 FP-32Lでの動作のみ 確認していますが、EPSON製品をはじめ他製品にも使用できる可能性があります。

ESC/POSコマンドを使う理由と制限

これらのプリンタを通常の「Windowsプリンタ」として使用する場合は、ESC/POSコマンドを使う必要はありません。 ESC/POSコマンドを使う最も大きな理由としては、プリンタの動作が遅い(ラベルの印刷速度が遅い) 場合です。 動作が遅い理由については各インターフェースの速度についてを参照してください。

ESC/POSコマンドを使うと動作は速くなりますが、Windowsプリンタとして使用する場合に 比較して、描画可能な内容に制限が出てきます。

長さの単位

通常のWindows設定と異なり、長さの数値はmmではなくドット(整数)となります。 したがって、同じESC/POS対応プリンタであっても、そのDPI値によってある数値が別の長さを表します。

コントロールセクション

コントロールセクションの開始は、「!control escpos」でなければなりません。 さもなければESC/POSとはみなされません。 ここに記述可能な内容は以下の通りです。

上述したオプションをすべて指定する場合の例を示します。

!control sbpl
 ejectCut = true
 debug = true

テンプレートセクション

要素

report

必ず必要なトップ要素です。 この要素のfontSize属性を設定することは、この要素自体には影響がありませんが、 子要素のデフォルトとすることができます。

freeLayout

子要素を自由な位置に配置するレイアウトです。 この要素のfontSize属性を設定することは、この要素自体には影響がありませんが、 子要素のデフォルトとすることができます。

janCode

codeで指定されたJANコードを表現するバーコードを描画します。 その際に、position位置を左上とし、heightを高さとします。 幅は自動で決定されます。

text

string属性で指定された文字列をposition位置を左上とした位置から描画します。

width属性が指定されている場合は、最大描画幅をwidthとして、それをはみ出さないように折り返して 複数行として描画します。 さらに、maxLinesが指定されている場合は、その行数を超えないように描画を打ち切ります。 また、alignの値が"center"の場合は描画幅の中で中央揃え、"right"の場合は右揃えを行います。

共用属性

fontSize

文字描画に使用するフォントのサイズを指定します。 fontSizeはすべての要素に指定でき、指定されていない場合は上位の指定を継承します。 現在のところ、24以外の値は指定できません。 すなわち、全角文字は24×24、半角文字は12×24の大きさで印字されます。

※ESC/POSプリンタコマンドでは、任意の大きさの文字を印字することはできません。

width

幅を指定します。

height

高さを指定します。

position

freeLayoutに子要素を置く場合に、その子要素の位置を指定します。 カンマあるいは空白で区切ったX位置、Y位置のペアとします。

position = "12, 45"

詳細説明

カット動作の制御

ejectCut=trueとすると、最後のラベルを印字した後カットを行います。