Barkod okuyucudan gelen veriyi javascriptle bir inputa aktarma
Merhaba,
elimde bir barkod okuyucu var. bundan gelen veriyi web sayfasında bir inputa aktarmak istiyorum.
çok eskiden böyle bir eklenti bulduğumu hatırlıyorum şimdi aramalarıma hep qrkod telefonlar çıkıyor.
böyle bir javascript kodu yada eklentisiyle karşılaşan oldu mu ? nasıl yapabilirim?
belkide apache server a bir eklenti gerekiyor.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (8)
@istek61
ZXing
BarcodeReader.js
Bu kütüphaneleri kullanarak barkod okuyucu desteği ekleyebilirsiniz. (Umarım bunlardan biri çalışır)
Not:Üzgünüm, barkod okuyucunun size önerdiğim QuaggaJS kütüphanesi tarafından desteklenmeyebileceği mümkündür. Barkod okuyucu, kamera veya resim ile ilgili farklı bir format veya protokol kullanıyor olabilir ve bu kütüphane bu formatı desteklemiyor olabilir.
Merhaba,
Bir barkod okuyucu cihazından gelen verileri web sayfasındaki bir inputa aktarmanın birkaç farklı yolu vardır. En yaygın iki yöntem aşağıda açıklanmıştır:
Barkod okuyucu cihazını klavye olarak kullanarak veri gönderme: Birçok barkod okuyucu, verileri klavye girişi olarak gönderir. Bu nedenle, barkod okuyucunuzu, bir input alanı seçildiğinde otomatik olarak klavye moduna girmesi için ayarlayabilir veya barkod okuyucunuzdan veri okumadan önce bir input alanına tıklayabilirsiniz. Ardından barkod okuyucunuz, barkodu okuduğunda, okunan veri otomatik olarak input alanına yazılacaktır.
Barkod okuyucu cihazından veri okuyarak gönderme: Birçok barkod okuyucu SDK’ları veya kütüphaneleri ile birlikte gelir. Bu nedenle, barkod okuyucunuzla birlikte gelen SDK’ları kullanarak, barkodu okunduğunda okunan verileri direkt olarak web sayfanızın JavaScript koduna aktarabilirsiniz.
Eğer barkod okuyucunuzla birlikte doğrudan bir SDK sağlanmıyorsa, birkaç JavaScript kütüphanesi kullanarak da barkod okuyucu verilerini alabilirsiniz. Örnek olarak, QuaggaJS kütüphanesi kullanılabilir. QuaggaJS JavaScript tabanlı bir barkod tarayıcısıdır ve barkod okuyucudan gelen verileri alabilir. Bu kütüphanenin kullanımı oldukça kolaydır ve web sayfanızda JavaScript kodu yazarak barkod okuyucudan alınan verileri hızlı bir şekilde işleyebilirsiniz.
İster klavye girişi, ister barkod okuyucunun SDK’ları veya JavaScript kütüphaneleri kullanarak, bir input alanından gelen verileri web sayfanıza aktarabilirsiniz. Bu veriler, sunucuya gönderilmeden önce JavaScript ile işlenebilir veya bir HTML formu aracılığıyla sunucuya gönderilebilir. Sunucu tarafında, PHP veya başka bir dil kullanarak form verilerini işleyebilir ve kaydedebilirsiniz.
Bu işlemin server-side ya da client-side olduğu bir eklenti gerektirmez. Sunucunuzda Apache veya başka bir web sunucusu kullansanız bile, bu işlem doğrudan JavaScript ile yapılabilir. Bir input alanına gelen veriler, sunucuya HTTP POST talebi yoluyla gönderilir.
Örnek olarak alabileceğiniz kod:
<input type="text" id="barkod-input"/>
// QuaggaJS kütüphanesini yükleyin
// https://serratus.github.io/quaggaJS/
Quagga.init({
inputStream : {
name : "Live",
type : "LiveStream",
constraints: {
width: 640,
height: 480,
facingMode: "environment"
}
},
decoder : {
readers : ["ean_reader"]
}
}, function(err) {
if (err) {
console.log(err);
return
}
console.log("Barkod okuma başarılı. Bekleniyor.")
Quagga.start();
});
// Barkod okunduğunda yapılacak işlemler
Quagga.onDetected(function(result) {
console.log("Barkod okundu: " + result.codeResult.code);
// Okunan barkodun değerini input alanına yazdır
document.getElementById("barkod-input").value = result.codeResult.code;
// Barkod okumayı durdur
Quagga.stop();
});
Bu örnekte, QuaggaJS kütüphanesi kullanılarak barkod okuyucudan gelen veriler bir input alanına yazdırılır. Quagga.init fonksiyonu kullanarak, barkod okuyucunun özelliklerini ve hangi barkod tiplerinin okunacağını ayarlayabilirsiniz. Quagga.onDetected fonksiyonu, barkod okunduğunda yapılacak işlemleri tanımlar. Barkod okunduğunda, JavaScript kodu ile input alanına yazdırılır ve okumanın durdurulduğundan emin olmak için Quagga.stop() fonksiyonu çağrılır.
Umarım bu yardımcı olur. İyi çalışmalar!
chatgpt ye sordum şöyle bir cvp verdi. sanırım bunun sürümü 3.5 bile değil :) çok zor algılıyor.
document.addEventListener('paste', (event) => {
const clipboardData = event.clipboardData || window.clipboardData;
const pastedData = clipboardData.getData('text');
console.log(pastedData);
});
yarın işyerinde bakacağım nasıl yakalayabilirim.
şöyle ki farklı bir inputta olabilirim.
ortalığı karıştırmasın diye ben isimdeyken bile bassam javascript onu kod bölümüne aktarsa çok güzel olur.
sonuçta veri paste gibi geliyor. javascriptle nereden geldiğini nasıl bir obje vs. olduğunu nasıl görebilirim.
belki o şekilde klavyeden gelmediği için inputa aktarabilirim.
otomasyon yazılımlarında bu şekilde çalışıyor. nerede olduğun önemli degil direk belli bir inputa aktarıyor. ama onu c++ algılıyor.
muhtemelen javascriptte de bir çözümü vardır diye düşünüyorum.
barkod okuyucuda tetiğe bastığında okuyup enter tuşuna basma olayı gerçekleşir. Eğer o anda bir input veya metin girilen bi alandaysan okuduğu barkod değerini yazar ve enter yapar. Eğer sayfadaysen sürekli bir input focus olsun diyorsan onun için bir kütüphaneye ihtiyacın yok zaten.
bunun için eklentiye gerek yok, input'a basıp bu cihazdan okutursan otomatik atıyor olması lazım zaten, denedin mi?