핸드폰을 이용한 바코드 스캔
본문
안녕하세요.
안드로이드에서 zxing scanner를 이용하여 바코드를 읽었는데요.
그러니까 구글플레이에서 바코드스캐너 (zxing용)를 설치하고, 아래 코드를 적용하면
<script type="text/javascript" >
function getScan(){
var x = document.forms["getbarcodeForm"]["barcode"].value;
if (x == null || x == "") {
var href=window.location.href;
var ptr=href.lastIndexOf("?");
if(ptr>0){ href=href.substr(0,ptr); }
window.location.href="zxing://scan/?ret="+escape(href+"?barcode={CODE}");
} else {
document.getbarcodeForm.submit();
}
}
</script>
<form id="getbarcodeForm" name="getbarcodeForm" method="get">
<input id=barcode name="barcode" type=text value="<?php echo $_GET['barcode']; ?>">
<input type=button value="Scan" onclick="getScan()">
</form>
이렇게 하면 바코드를 가져오는데, 문제는 iPhone입니다.
iPhone 용 스캐너가 있는지 제가 찾지를 못하겠네요.
제가 아이폰을 가지고 있는 것이 아니어서 테스트도 할 수 없고 말입니다.
안드로이드와 아이폰 모두에서 바코드를 읽을 수 있는 방법이 없을까요.
QR 코드는 읽지 못해도 상관없습니다.
감사합니다.
!-->답변 3
ZBar iPhone SDK
http://zbar.sourceforge.net/iphone/index.html
앨을 만드는 것이 아니라면...URL올려주세요 iphone 6, 7, XS, 11 가지고 있습니다.. 테스트 해드리지요..
테스트해드려볼까 했더니... App store에는 zxing 이 일단 없네요.. ㅎ
삽질 Test 코드
<!doctype html>
<html lang='ko'>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://unpkg.com/html5-qrcode@2.0.9/dist/html5-qrcode.min.js"></script>
</head>
<style>
.result{
background-color: green;
color:#fff;
padding:20px;
}
.row{
display:flex;
}
</style>
<div>
<div id="qr-reader" style="width: 400px"></div>
</div>
<div>
<h4>SCAN RESULT</h4>
<div id="result">Result Here</div>
</div>
<script type="text/javascript">
function onScanSuccess(decodedText, decodedResult) {
document.getElementById('result').innerHTML = '<span class="result">'+decodedText+'||'+decodedResult+'</span>';
console.log(`Code scanned = ${decodedText}`, decodedResult);
}
var html5QrcodeScanner = new Html5QrcodeScanner(
"qr-reader", { fps: 10, qrbox: 250 });
html5QrcodeScanner.render(onScanSuccess);
</script>
</html>
답변을 작성하시기 전에 로그인 해주세요.