PrintStream AI

Q
プリンタによって印刷した帳票の高さや幅が違う
[内容]
同じ印刷解像度のプリンタで、同じデータを印刷したが、印刷した帳票の
高さや幅が異なる

A
[解決方法]
印刷解像度が同じプリンタ同士であっても、プリンタの性能差により印刷される帳票の
高さや幅が若干異なる場合があります。

例として、弊社で確認している現象に以下のものがあります。

・ブラザー PJ-560とPJ-663は同じ印刷解像度(縦・横ともに300dpi)だが、同じデータを
 印刷してもPJ-663のほうが若干縦の解像度が低く(縦に伸びて)印刷される。

このような場合、プリンタごとにLOGPIXELSX、LOGPIXELSYのパラメータで印刷解像度を
指定し、印刷される帳票の高さ・幅を揃えることが可能です。
LOGPIXELSX、LOGPIXELSYは特に指定がなければ抽象化ドライバが持つ標準の印刷解像度
が適用されています。
実際に使用するプリンタにて動作を確認し、指定する値をご調整下さい。

[記述例]
以下はBiz/Browser AIのExternalObjectクラスを利用して印刷を実行する場合の記述例です。
LOGPIXELSX、LOGPIXELSYパラメータは、setParamメソッドを使用して追加します。

var Driver = "jp.co.axissoft.psai.driver.psbrother.PSBrother";
             /* 抽象化ドライバのクラス名 */
var PortName = "00:00:00:00:00:00";
                /* ポート名(印刷するプリンタのMACアドレス) */
var PrintID = 7;
             /* 印刷するプリンタのプリンタID PJ-560:3、PJ-663:7 */

ExternalObject.loadJar("PSAI",
      "file://mnt/sdcard/lib/printstreamai.jar");
/* LoadJarの引数:ライブラリID、printstreamai.jarのファイルパス */

var psai = new ExternalObject("jp.co.axissoft.psai.PrintStreamAI","PSAI"
      ,ExternalObject.GetCurrentContext(),Driver,1,PortName,PrintID);
/* ExternalObjectコンストラクタの引数: */
      クラス名、ライブラリID、対象クラスのコンストラクタ引数 */
/* PrintStreamAIコンストラクタの引数:
      アプリケーションのコンテキスト、抽象化ドライバのクラス名、
      ポートタイプ(1 =Bluetooth)、ポート名(MACアドレス)、プリンタID */
   
/* パラメータを設定 */
if(PrintID == 7){
 psai.Invoke("setParam", "LOGPIXELSY", 2970); /* 297dpi(0.1dpi単位) */
 /* Invokeの引数:メソッド名、対象メソッドの引数 */
 /* setParamの引数:パラメータキー、値 */
}

psai.Invoke("load", 2, "mnt/sdcard/files/00000001.pss");
psai.Invoke("load", 2, "mnt/sdcard/files/00000002.pss");
/* Invokeの引数:メソッド名、対象メソッドの引数 */
/* loadの引数:ファイルタイプ(2 =pss)、ファイルパス */

/* すべてのページを印刷します */
psai.Invoke("print");
※CRSスクリプトが途中で改行されている部分を実際に記述する場合は、1行で記述してください。

管理番号:PSA-A001
  Biz-Collections Bizの宝箱 トップへ
  Biz/PrintServer・PrintStream Core TIPS集 トップへ