0

文字で始まるバーコードを印刷する場合、1 つの例外を除いて、Datamax H クラス プリンターでバーコードを喜んで印刷するラベル印刷ソフトウェア (Windows、WPF、C#、.net 4.5) を作成しました。C

これを試みると、バーコードはその中の最初の数字まで切り捨てられます。

小文字cは問題なく機能しますが、一部のモデル コードは で始まるCため、これを回避する方法を見つける必要があります。

これを可能にするある種のエスケープ文字が必要だと思いますか?しかし、私はGoogle経由でそれを見つけることができませんでした。

それが code128 の問題であると 100% 確信しているわけではありません。Datamax H-Class プリンター、Datamax Windows C# SDK、またはプリンターで使用している code128 フォントに関連している可能性がありますか?

詳細が非常に曖昧で申し訳ありません。次に何を確認するかについてのヘルプやアドバイスをいただければ幸いです。

更新します

これが何らかの用途に使用される場合に備えて (悲しいことに疑いがあります)、バーコードをプリンターに送信するために使用しているコードCは次のとおりです (すべてのバーコード文字列が で始まらない場合に成功します)。

ParametersDPL paramDPL = new ParametersDPL();

paramDPL.Align = ParametersDPL.Alignment.Left;
paramDPL.Rotate = ParametersDPL.Rotation.Rotate_270;

paramDPL.IsUnicode = false;
paramDPL.TextEncoding = Encoding.ASCII;
paramDPL.WideBarWidth = 7;
paramDPL.NarrowBarWidth = 4;
paramDPL.SymbolHeight = 60;

//if the stockCode starts with 'C' the barcode will be truncated                
docDPL.WriteBarCode("E", String.Format("{0} {1}", stockCode, serialNumber), COL_1, ROW_5, paramDPL);

ParametersDPLオブジェクトはDatamax C# SDKからのものです。コードで見られる唯一の問題は、おそらくIsUnicodeまたはTextEncodingプロパティの設定ですが、それらをかなり試してみましたが、効果はありませんでした。の他のプロパティのParametersDPLいずれも、犯人のようには見えませんでした。

4

1 に答える 1

4

私は Datamax PCL に慣れていませんが、コード 128 のサブアルファベット「C」を選択するために「C」が使用されているという症状が見られます。「A」または「ZB」で始まる証券コードを試して、「A」または「B」が消えるかどうかを確認すると便利な場合があります。その場合、最初の文字がサブアルファベットの選択に使用されている可能性があります (「A」は大文字のみの ASCII、「B」は制御なしの ASCII です)。

次に、Datamax PCL 形式を詳しく調べる必要があります。そこに (おそらく任意の) 書式設定文字が含まれている可能性があり、これにより先頭文字が区別されます。おそらく、先頭に「B」を強制すると問題が解決するでしょう。

于 2014-11-27T23:00:39.517 に答える