Я использую @ zxing / ngx-scanner для сканирования штрих-кодов. Я могу сканировать штрих-коды формата QR_CODE и DATA_MATRIX, используя камеру моего ноутбука. Теперь я хочу отсканировать штрих-код в формате CODE_128. Но библиотека требует времени для сканирования, и когда она сканирует .. она сканирует неправильно.
Кто-нибудь сталкивался с подобными проблемами? Как устранить эту проблему?
Я использую Angular 7 и ngx-сканер версии 2.0.1. Я пытаюсь в браузере Chrome на Windows 10.
Код:
In HTML:
<zxing-scanner #scanner start="true" (scanSuccess)="myFn($event)" [formats]="['QR_CODE', 'EAN_13', 'CODE_128', 'DATA_MATRIX']"></zxing-scanner>
In ts:
import { ZXingScannerComponent } from '@zxing/ngx-scanner';
export class myClass implements OnInit {
@ViewChild('scanner') scanner: ZXingScannerComponent;
hasDevices: boolean = false;
hasPermission: boolean;
availableDevices: MediaDeviceInfo[] = [];
currentDevice: MediaDeviceInfo;
constructor(private zone: NgZone) {
window['angularComponentReference'] = {
zone: this.zone,
componentFn: (searchcontent: any) =>
window['scannerOutput'](searchcontent),
component: this,
};
}
ngOnInit() {
this.scanner.camerasFound.subscribe((devices: MediaDeviceInfo[]) => {
this.hasDevices = true;
this.availableDevices = devices;
});
this.scanner.camerasNotFound.subscribe(() => {
this.hasDevices = false;
});
this.scanner.scanComplete.subscribe((result: Result) => {
this.qrResult = result;
this.hasPermission = false;
});
this.scanner.permissionResponse.subscribe((perm: boolean) => {
this.hasPermission = perm;
});
}
myFn(resultString) {
console.log(resultString);
}
}
Обновление: образец штрих-кода, который мне нужно отсканировать