問題タブ [code128]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
excel - Excel VBA を使用して Code 128 バーコードを生成する
VBA を使用して、Excel で生成された Code 128 バーコードを取得しようとしています。誰かが作成し、VBForums を介して共有した VBA クラスを見つけました (その後、Excel VBA で動作するように変更されました) が、動作させるのに問題があります。
Excel マクロが有効なスプレッドシートで以下のコードを使用すると、任意の入力で Code128_Str() 関数を使用しようとすると #VALUE エラーが発生します。
コードを適切にデバッグするために必要なスキルがありません。このスクリプトを修正できれば、同じことをしようとしている多くの人にとって非常に役立つと思います。問題のスクリプトは、フリー フォントを使用して、関連する Code 128 出力バーコードを生成します。
参考文献: http://www.barcodeman.com/info/c128.php3 (フォントのダウンロード) http://www.vbforums.com/printthread.php?t=514742&pp=40&page=1 (コード付きの元のフォーラム スレッド)
php - code128バーコード(または任意の画像)をミリメートル単位で印刷(生成)します(php)
code128 barcodes
でラベルを生成する必要がありPHP
ます。これらは、ほとんどすべてのプリンターを使用するユーザーによって印刷されます。
私にはいくつかの特定の要件があります:
狭いバーの幅は0.375mmから0.5mmの間でなければなりません
バーコード全体の最大幅:115mm
- 最初の8桁はサブセットBを使用する必要があります
- 残りの20桁はサブセットCを使用する必要があります
- コードは高速で読み取り可能でなければなりません
いくつかのバーコードライブラリを試しましたが、ほとんどの場合、最小バー幅をミリメートル単位で指定することはできません。狭いバーの幅を固定整数単位でスケーリングすることができ、1は小さすぎ、2は大きすぎます:)
また、gd libを使用して画像をリサンプリングしようとしましたが、コードが高速で読み取れなくなります。
独自のコードジェネレーターを構築する必要がありますか?もしそうなら、どのように私はミリメートルでバーを生成しますか?
前もって感謝します
compression - 1Dバーコードから読み取られるキーと値のペアの効率的な圧縮と表現
私は現在、1Dバーコード(構成設定)からキーと値のペアを取得できる必要があるWindowsMobile用のアプリケーションを作成しています。スキャンする必要のあるバーコードが少ないほど、優れています。サンプル入力:
私は次のアルゴリズムを考えました:
1.キーと値のペアを連結し、Base64で値をエンコードします
だから私たちは次のようなものを得るでしょう12=U8O2bWUgVVRGLTggU3Ryw65uZw==&9=JiBhbm90aGVyIHN0cmluZw==
2.ハフマン符号化を使用してデータを圧縮します
これには固定のハフマンツリーを使用します。データを圧縮するのに役立つ次の情報を使用します。
3.エンコードされたデータからコード128Bバーコードを生成します
ハフマンアルゴリズムによって生成されたビットストリームにBase96エンコーディングを適用して、コード128Bバーコード内で使用できるASCII文字を取得します。結果の文字列を必要に応じて複数のバーコードに分割します。
この手順をコーディングすることは私にとって問題にはなりませんが、アルゴリズムの効率と設計についてフィードバックをお願いします。
質問
- どこかでより良い圧縮/より短い文字列の可能性を失っていますか?
- ランダムなUTF8エンコードデータを圧縮するためのより良い方法はありますか?
- エンコードされたデータに動的ハフマンテーブルを埋め込む必要がありますか?
- コード128Bの圧縮をどのように考慮に入れることができますか(a
0
はaよりも少ないスペースを必要とします&
)?
java - Zebra EM 220、Android を使用して Code 128 バーコードを印刷
Zebra の EM 220 SDK for Android を使用してコード 128 バーコードを印刷したいと考えています。
次のような PrintBarcode() メソッドを使用して印刷しようとしました。
ただし、印刷されたコードは、ZXing などの Android スキャン アプリケーションではスキャンできません。
Web で検索した後、データをフォーマットする必要があることを理解し (Zebra SDK がそれを行わないことに少し驚いたとしても...)、データのエンコードに役立つbarcode4j ライブラリを見つけました。ただし、ライブラリでも、印刷されたバーコードをスキャンすることはできません。
だから、私の質問は簡単です: Zebra の EM 220 SDK for Android を使用してコード 128 バーコードを印刷する方法は?
c# - GS1-128 と正規表現
私は GS1-128 で忙しく、RegEx を使用してスキャンしたバーコードを照合したいと考えています。私は現在、次の式を持っています:
これにより、バーコードが正常に一致(01)12345678123450(11)130500(21)1234567890(30)42
し、次のグループに分割されます。
- 01 - GTIN
- 12345678 - 会社コード (ダミー) - 8 桁
- 12345 - パーツコード (ダミー) - 5 桁
- 11または17 - 製造日/有効期限
- 130500 - 日付 - 6 桁
- 10 または 21 - バッチ/シリアル番号
- 1234567890 - 1 ~ 20 文字
- 30 - アイテム数 (オプション)
- 42 - 1 ~ 8 文字 (オプション)
現在、アイテム数 AI を持たないバーコードを持っていることがあります。30. これを正規表現に組み込む方法がまったくわかりません。グループ 8 と 9 をオプションにすると、これらのグループのコンテンツは、AI 30 を含むすべてのバーコードのグループ 7 にスローされます。
AI 30 が AI 21/10 とグループ化されないようにしながら、AI 30 をオプションにするにはどうすればよいですか?
テストケース:
(01)12345678654320(11)120500(21)1234567890
次の一致を与える必要があります。
- 01
- 12345678
- 65432
- 11
- 120500
- 21
- 1234567890
- 歯が立たない
- 歯が立たない
(01)12345678124570(17)130700(10)30567(30)50
次の一致を与える必要があります。
- 01
- 12345678
- 12457
- 17
- 130700
- 10
- 30567
- 30
- 50
(01)12345678888880(11)140200(21)66503042(30)100
次の一致を与える必要があります。
- 01
- 12345678
- 88888
- 11
- 140200
- 21
- 66503042
- 30
- 100
かっこは AI の開始位置を示すためだけのものであり、バーコード自体はこれらを省略していることに注意してください。
barcode - チルダとアスタリスク付きの code128 バーコード
zpl の code128 バーコードで ~ と * の両方を印刷する必要がある印刷プログラムを保守しています。
現在、^FH を使用してチルダを 16 進数で表す以下のコードを使用しています。
バーコードは、* と ~ を除いて「SPECIALMAKE123456」として印刷されます。zpl code128 バーコードでチルダとアスタリスクを印刷することは可能ですか?
c# - この Code128 バーコード チェック ディジットを計算するコードは正しいですか?
Code128 バーコードのチェック ディジット計算 (他のほとんどの標準的なバーコード タイプとは根本的に/劇的に異なる) の私の理解*に基づいて、以下の私のコードは正しいです。ただし、トレンチコート (またはラボ) コートに取り付けられたトレンチからの泥/経験的観察/泥をよく知っている可能性がある人による「健全性チェック」をいただければ幸いです。
- これは私の理解です:
バーコードの各文字は、左から順に ASCII コード (IOW、バーコード文字「1」は ASCII コード 49 などと見なされる) に変換され、その値に序数が掛けられます。文字配列内の位置。
たとえば、作成されたバーコード番号「123456789」の場合、「1」は 49、「2」は 50、...「9」は 57 に相当します。
次に、各文字の序数位置にその ASCII 値を掛けます。例: 1*49 == 49、2*50==100、... 9*57==513。次に、これらすべてを合計すると、(この場合) 2,445 になります。
次のステップは、その数を Code128 の「マジック ナンバー」である 103 で割ることです。関心のある値はモジュラスです。したがって、この場合、2445 % 103 == 76 です。
最後から 2 番目に、その値 (76) を ASCII コードと見なして変換し、反対方向をその「プレゼンテーション」値、つまり「L」に戻します。
最後に、その計算された文字を元のバーコードに追加します。本当に、したがって(さらに苦労したり別れたりしたにもかかわらず)、「123456789L」の値になります。
これが正しい値でない場合、私は何かを間違って理解しています。
以下にいくつかのバーコードを示します。
...そして、それらが計算されたチェック ディジットでどのように表示されるか (そして、以下のコードで):
最後に、Code128 チェック ディジットの計算に使用したコードを次に示します。
アップデート
私はブライアン・アンダーソンの答えを完全に理解しているわけではありません。彼は正しいかもしれません (おそらくそうです) が、チェック ディジットの計算が行われる限り、スタート ビットとストップ ビットは無視されると思います。それらは、バーコード スキャナがどのポイントから注意を払い、その後どのポイントから電子スヌーズを再開できるかを知るためだけにあるのではないでしょうか?
そして、数学 (ブライアンが ASCII 値から 32 を引く必要があることについて正しい場合) は次のようになります。
開始文字は計算に含まれるのに、停止文字は含まれないのはなぜですか?
1005 % 103 == 78 なので、チェック ディジットは ... "N" ... または (78-32 == 46) "-" になりますか?
ストップ文字とスタート文字の両方が含まれていれば、もちろん解決策も変わります...
更新 2
私は正確にはバーコードのオグラではないので、そのようなものを見たことがあるかもしれませんが、気づいていない/注意を払っていないかもしれませんが、バーコードに "-" や " " などのチェック ディジットを含めることはできますか? 奇妙に思えます。数字だけでなく、常に英数字であることを期待しています。私の疑いが正しければ、計算が "-" または " " または "~" などの奇妙なチェック ディジットになった場合、どうすればよいでしょうか?
更新 3
したがって、Brian やその他の情報源を正しく理解できれば、バーコード スキャナーから、意味的にデコードされたものを読み取ります。
...しかし、これは論理的に停止文字を削除します-それはチェックデジットの計算の一部ではないため-そして(論理的にはそれほど論理的ではありませんが)チェックデジットも削除するため、実際に得られるのは次のようになります:
...そしてそれをマッサージし、チェックデジットを計算して、バーコードの人間が読める表現を表示します:
そして、バーコードがスキャンされた場合、開始文字が明らかに (?) 見られるので、計算される runningTotal 値に事前に追加するだけです。したがって、私のコードは次のとおりです。
c# - ASCII char から int への変換が失敗するのはなぜですか?
ここのチャートによると:
http://www.idautomation.com/barcode-faq/code-128/
このキャラクター:
値 103 に相当します。
まだこのコード:
...テキストボックスの値、つまりバーコードの値が「ËTry another string.」の場合、barcode[0] が「Ë」の場合、103 ではなく 171 の値が返されます...???
このチャートによると: http://www.adams1.com/128table.html、103 に対応する値は‡ですが、barCode を「‡Try another string.」に設定すると、返される値は 8193 です... ??? ますます好奇心旺盛…。