Memindai kode qr menggunakan webcam di php

Pustaka pemindaian kode QR kecil yang saya pertahankan sejak 2015 telah mendapatkan lebih banyak perhatian baru-baru ini. Dan dengan kekuatan datang tanggung jawab, bug, dan permintaan fitur. Beberapa fitur utama yang diminta oleh pengembang adalah pemindaian yang lebih andal dan kemampuan untuk memindai berbagai jenis kode batang. Dengan version 2.0.0_ dan seterusnya, pengembang dapat memindai berbagai jenis kode 1D (kode batang) dan kode 2D (seperti kode QR atau AZTEC)

Artikel ini mencantumkan semua yang baru di version 2.x.x. Saya juga akan mencantumkan API dan kemampuan baru yang dapat digunakan pengembang untuk mengintegrasikan kemampuan pemindaian kode yang lebih canggih ke halaman web atau aplikasi mereka

Ini perpustakaan yang saya ambil. mebjas/html5-qrcode, demo checkout di qrcode. minhazav. dev

Diskusikan Masalah Garpu Bintang

Apa yang baru di version 2.x.x

Terbaru.

  1. Kemampuan untuk memindai berbagai jenis kode 1D dan kode 2D
    • Lihat semua format yang didukung
    • Jenis format yang dipindai dan nama dikembalikan dalam callback sukses
  2. Pemindaian kode yang lebih andal, memperbaiki masalah seperti masalah #134, masalah #63, masalah #140
    • Keduanya (1) & (2) dicapai dengan memigrasi pustaka decoding dari
      <!-- include the library -->
      <script src="https://unpkg.com/[email protected]/dist/html5-qrcode.min.js"></script>
      
      2 ke Zxing-js
  3. [Minor] Library sekarang melaporkan error yang lebih terperinci untuk mengurangi waktu debug bagi developer
    • Misalnya, jika perpustakaan digunakan di
      <!-- include the library -->
      <script src="https://unpkg.com/[email protected]/dist/html5-qrcode.min.js"></script>
      
      3 url, masalah persisnya akan dilaporkan

Perbaikan kesehatan kode

  1. Seluruh kode dimigrasikan ke TypeScript untuk pengembangan yang dapat diskalakan & lebih sedikit rawan kesalahan

  2. Beberapa masalah kesehatan kode diperbaiki berdasarkan laporan Codacy dan sekarang kami memiliki nilai A di Codacy - , melacak masalah untuk pemfaktoran ulang ini

Simak untuk lebih jelasnya

Menggunakan perpustakaan

Perpustakaan memaparkan dua kelas utama

  • Html5QrcodeScanner_ - Gunakan ini untuk mengatur pemindai ujung ke ujung dengan UI, dibangun di atas Html5Qrcode
    • Mengurus membangun antarmuka pengguna penuh
    • Mendukung pemindaian menggunakan kamera web atau kamera pada perangkat dengan umpan kamera waktu nyata
    • Mendukung pemindaian gambar lokal di perangkat
  • Html5Qrcode - pustaka tingkat rendah, memperlihatkan API untuk membangun pemindai kode Anda

Mengintegrasikan pemindai kode menggunakan Html5QrcodeScanner

Ikuti langkah-langkah di bawah ini untuk mengintegrasikan kemampuan pemindaian kode QR atau kode batang ke dalam aplikasi web Anda

Instal perpustakaan

Anda dapat menginstal perpustakaan menggunakan

<!-- include the library -->
<script src="https://unpkg.com/[email protected]/dist/html5-qrcode.min.js"></script>
8 atau memuatnya langsung menggunakan beberapa CDNS seperti unpkg

Instal menggunakan npm

npm install --save-dev html5-qrcode

Muat perpustakaan terbaru dari unpkg atau CDN lainnya

<!-- include the library -->
<script src="https://unpkg.com/[email protected]/dist/html5-qrcode.min.js"></script>

Tambahkan elemen HTML placeholder

Tambahkan elemen HTML placeholder ke halaman web Anda. UI pemindaian akan dirender dalam elemen ini. Berikan gaya yang sesuai seperti

<!-- include the library -->
<script src="https://unpkg.com/[email protected]/dist/html5-qrcode.min.js"></script>
9 atau
<div id="qr-reader" style="width: 600px"></div>
0

<div id="qr-reader" style="width: 600px"></div>
_

Inisialisasi dalam javascript

Sekarang Anda dapat mengatur pemindai dengan

<div id="qr-reader" style="width: 600px"></div>
1 ini

function onScanSuccess(decodedText, decodedResult) {
    console.log(`Code scanned = ${decodedText}`, decodedResult);
}
var html5QrcodeScanner = new Html5QrcodeScanner(
	"qr-reader", { fps: 10, qrbox: 250 });
html5QrcodeScanner.render(onScanSuccess);
_

Demo

Catatan

  • Anda dapat menyesuaikan pemindai dengan mengirimkan objek konfigurasi yang berbeda -
  • Callback sukses memiliki antarmuka berikut ()

/** Format of detected code. */
interface QrcodeResultFormat {
    format: Html5QrcodeSupportedFormats;
    formatName: string;
}

/** Detailed scan result. */
interface QrcodeResult {
    text: string;
    format: QrcodeResultFormat,
}

/** QrCode result object. */
interface Html5QrcodeResult {
    decodedText: string;
    result: QrcodeResult;
}

type QrcodeSuccessCallback
    = (decodedText: string, result: Html5QrcodeResult) => void;

Html5Qrcode antarmuka

Jika Anda ingin membangun antarmuka pengguna, Anda dapat menggunakan API publik yang diekspos oleh kelas Html5Qrcode

Bisakah saya memindai kode QR dengan webcam saya?

Anda juga dapat memindai Kode QR dengan desktop, laptop, atau tablet Anda. Beberapa situs web memungkinkan Anda memindai Kode QR melalui webcam atau kamera depan . Pegang Kode QR di depan perangkat Anda dan tautan terkait akan muncul di layar.

Bagaimana cara memindai kode QR menggunakan PHP?

Langkah-Langkah Implementasi Pembacaan Kode QR Barcode Sisi Server Menggunakan PHP Laravel .
Langkah 1. Instal Ekstensi Pembaca Kode QR Barcode PHP. Tidak ada paket biner pra-bangun. .
Langkah 2. Perancah Proyek Laravel. .
Langkah 3. Buat Pengontrol. .
Langkah 4. Buat Tampilan Web. .
Langkah 5. Jalankan Pembaca Kode QR Barcode PHP Laravel

Bagaimana cara mengimplementasikan kode QR di PHP?

Mari membuat kode QR dalam PHP .
Instal dependensi. .
Tulis kodenya. .
Uji apakah kode berfungsi. .
Buat kode QR dengan logo. .
Kode ini memperluas kelas QROptions dasar, memungkinkannya mengatur lebar dan tinggi di sekitar gambar yang dihamparkan pada kode QR. .
Perbarui kode. .
Tambahkan file gambar

Bagaimana cara memindai kode QR menggunakan webcam di JavaScript?

Pemindaian Kode QR HTML5 dengan javascript - Dukungan untuk memindai file lokal dan menggunakan kamera default ditambahkan (v1. .
Tambahkan input file tipe
Gunakan API Html5Qrcode#scanFile() untuk memindai File gambar. Dan dalam kode javascript inisialisasi objek dan lampirkan pendengar seperti ini
Membersihkan kanvas setelah digunakan