0

Delphi 7 からOPOS経由で使用しようとしているStar Micronics TSP100 プリンタがあります。バーコードを印刷できないようです。

開いて、要求して有効にし、テキストを印刷してカットすることはできますが、バーコードを印刷することはできません。

私は、Bixolon Samsung POS プリンターの場合と同じように、Active X コントロールをインポートしてプリンターを処理する多くの方法を試しましたが、問題なく動作しました。

どんなポインタも歓迎します。
コード:

procedure TForm1.OpenbtnClick(Sender: TObject);
begin
  showmessage(inttostr( posprinter1.Open('StarTSP100')));
end;

procedure TForm1.ClaimbtnClick(Sender: TObject);
begin
   showmessage(inttostr( posprinter1.ClaimDevice(0)));
end;

procedure TForm1.EnablebtnClick(Sender: TObject);
begin
  POSPrinter1.DeviceEnabled := True;
end;

procedure TForm1.PrintbtnClick(Sender: TObject);
begin
  POSPrinter1.PrintNormal(2,'A Test' + #10);
end;

procedure TForm1.PrintBCbtnClick(Sender: TObject);
begin
  POSPrinter1.PrintBarCode(2, '1234567890', 108, 1000, trunc(POSPrinter1.RecLineWidth * 0.8), -2, -13);
end;

procedure TForm1.CutbtnClick(Sender: TObject);
begin
  POSPrinter1.CutPaper(100);
end;

end.
4

2 に答える 2

0

自動コードをテストして問題を見つけました。MapMode = 4 に設定する必要があります。(デフォルトの MapMode = 1 では) Code 39、EAN、コードを印刷できるようになった後。

procedure TForm1.PrintBCbtnClick(Sender: TObject);
begin
POSPrinter1.MapMode := 4;  
POSPrinter1.PrintBarCode(2, '1234567890', 108, 1000, trunc(POSPrinter1.RecLineWidth * 0.8), -2, -13);
end;
于 2014-11-27T18:40:09.437 に答える
0

メソッドでプリンターがバーコード印刷をサポートしているかどうかを確認できますCapRecBarCode

バーコードのサイズを高さ 1000、幅 (RecLineWidth * 0.8) に設定しています。バーコードが用紙に対して大きすぎる場合、または割り当てたスペースがバーコード文字列の長さに対して 2 つ小さい場合、印刷されない傾向があります。

1000 の高さが大きすぎる可能性があるため、出力されていない可能性があります。この場合、 の戻り値はPrintBarcodeになります106 - Illegal60私たちが使用する、または96高さの数値をもっと小さくしてみてください。

于 2013-08-05T12:36:54.830 に答える