Zxing を使用して 128C (コード セット C) バーコードをデコードしようとしています。QR_CODE、UPC_Aなどの他のタイプを読み取ると成功しました。
これらは私が読み取ろうとしているバーコードです:
Zxing で 128C バーコード (純粋な CODE 128 ではない) を読み取ることは可能ですか?
Zxing を使用して 128C (コード セット C) バーコードをデコードしようとしています。QR_CODE、UPC_Aなどの他のタイプを読み取ると成功しました。
これらは私が読み取ろうとしているバーコードです:
Zxing で 128C バーコード (純粋な CODE 128 ではない) を読み取ることは可能ですか?
簡単に言えば、はい、可能です。128C は 128 のサブセットであるため、コードをスキャンできます。数秒かかる場合があります。XZing をアプリで動作させます。
128 がサポートされていることがわかったので、翻訳を行う必要があります。128C は 128 と同じ入力を取り、数字を出力するだけです。したがって、返されたデータから変換を行い、それを 128C に変換できます。それがどのように翻訳されるかについては、2番目のリンクを確認してください。
https://github.com/zxing/zxing/blob/master/README.md
https://en.wikipedia.org/wiki/Code_128
XZing github から必要なクラスを取得し、それらをプロジェクトの Java 部分のパッケージに入れます。私は2つだけを使用しました:
これが私のコードでどのように開始されるかです:
/**
* Method called to intiate the scan (it's linked to a button)
*/
public void doScan(View view) {
IntentIntegrator scanIntegrator = new IntentIntegrator(this);
scanIntegrator.initiateScan();
}
// when you click the Scan Bar Code button
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanningResult != null) { // we have a result
String scanContent = scanningResult.getContents(); // set the content of the scan.
String scanFormat = scanningResult.getFormatName(); // set the type of scan.
// You will want to put this data somewhere else, globals, etc.
} else {
toast("No scan data received!"); // call to make a toast
}
}