以下の設定は、ESC/POS対応のラベルプリンタを ESC/POSプリンタ制御コマンドを使って動作させる場合のものです。 ESC/POS対応のラベルプリンタ以外には使用できません。
他製品にこれらを適用すると、最悪の場合プリンタ故障が起こる可能性があります。
現時点では富士通 FP-32Lでの動作のみ 確認していますが、EPSON製品をはじめ他製品にも使用できる可能性があります。
これらのプリンタを通常の「Windowsプリンタ」として使用する場合は、ESC/POSコマンドを使う必要はありません。 ESC/POSコマンドを使う最も大きな理由としては、プリンタの動作が遅い(ラベルの印刷速度が遅い) 場合です。 動作が遅い理由については各インターフェースの速度についてを参照してください。
ESC/POSコマンドを使うと動作は速くなりますが、Windowsプリンタとして使用する場合に 比較して、描画可能な内容に制限が出てきます。
通常のWindows設定と異なり、長さの数値はmmではなくドット(整数)となります。 したがって、同じESC/POS対応プリンタであっても、そのDPI値によってある数値が別の長さを表します。
コントロールセクションの開始は、「!control escpos」でなければなりません。 さもなければESC/POSとはみなされません。 ここに記述可能な内容は以下の通りです。
上述したオプションをすべて指定する場合の例を示します。
!control sbpl ejectCut = true debug = true
必ず必要なトップ要素です。 この要素のfontSize属性を設定することは、この要素自体には影響がありませんが、 子要素のデフォルトとすることができます。
子要素を自由な位置に配置するレイアウトです。 この要素のfontSize属性を設定することは、この要素自体には影響がありませんが、 子要素のデフォルトとすることができます。
codeで指定されたJANコードを表現するバーコードを描画します。 その際に、position位置を左上とし、heightを高さとします。 幅は自動で決定されます。
<janCode code="4946858000020" position="0, 88" height="68"/>「4946858000020」というJANコードからバーコードを生成し、位置(0, 88)を左上として 幅33、高さ68で描画します。
string属性で指定された文字列をposition位置を左上とした位置から描画します。
width属性が指定されている場合は、最大描画幅をwidthとして、それをはみ出さないように折り返して 複数行として描画します。 さらに、maxLinesが指定されている場合は、その行数を超えないように描画を打ち切ります。 また、alignの値が"center"の場合は描画幅の中で中央揃え、"right"の場合は右揃えを行います。
<text string="行列が途切れないラーメン店のおいしい味噌味" position="0, 0"/>継承されたフォント、サイズを使いstringで指定された文字列を位置(0, 0)から描画します。 文字列がいかに長くとも折り返しなどは行われません。
<text string="行列が途切れないラーメン店のおいしい味噌味" position="0, 0" fontSize="24" width="260" maxLines="2" />
文字描画に使用するフォントのサイズを指定します。 fontSizeはすべての要素に指定でき、指定されていない場合は上位の指定を継承します。 現在のところ、24以外の値は指定できません。 すなわち、全角文字は24×24、半角文字は12×24の大きさで印字されます。
※ESC/POSプリンタコマンドでは、任意の大きさの文字を印字することはできません。
幅を指定します。
高さを指定します。
freeLayoutに子要素を置く場合に、その子要素の位置を指定します。 カンマあるいは空白で区切ったX位置、Y位置のペアとします。
例position = "12, 45"
ejectCut=trueとすると、最後のラベルを印字した後カットを行います。