Skip to content

emericg/QmlMobileScanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QmlMobileScanner

GitHub action GitHub issues License: GPL v3

QmlMobileScanner is a DEMO barcode & QR code scanner based on qzxing and zxing-cpp libraries to scan and generate barcodes, and zint to generate some extra formats.

Available backends:

  • QZXing / v3.3.0 + Qt6 port + many patches
  • zxing-cpp / v2.3.0 + custom QML integration
  • zint / v2.15 + custom QML integration

Works on Android and iOS!

Works on Linux, macOS, Windows too!

Features

  • UIs
    • Phone UI
    • Tablet UI
    • Desktop UI
  • General features
    • Barcode reader
      • Multi camera support
      • Read from picture (WIP)
    • Barcode writer
      • Save to picture (WIP)
      • Save to vector (WIP)
    • Barcodes history

Supported Formats (QZXing)

QZXing is a Qt/QML wrapper library for the ZXing barcode image processing library.

Linear / 1D barcodes Matrix / 2D barcodes
UPC-A QR Code
UPC-E Data Matrix
EAN-8 PDF 417
EAN-13 Aztec (beta)
Code 39
Code 93
Code 128 (GS1)
Codabar
ITF

Supported Formats (zxing-cpp)

zxing-cpp is an open-source, multi-format linear/matrix barcode image processing library implemented in C++.

Linear / 1D barcodes Matrix / 2D barcodes
UPC-A QR Code
UPC-E Micro QR Code
EAN-8 Aztec
EAN-13 Aztec Runes
DataBar DataMatrix
DataBar Expanded PDF417
DataBar Limited MaxiCode (partial)
Code 39 DX Film Edge
Code 93
Code 128 (GS1)
Codabar
ITF

Supported Formats (zint)

zint is a barcode encoding library supporting over 50 symbologies including Code 128, Data Matrix, USPS OneCode, EAN-128, UPC/EAN, ITF, QR Code, Code 16k, PDF417, MicroPDF417, LOGMARS, Maxicode, GS1 DataBar, Aztec, Composite Symbols and more.

Documentation

Dependencies

You will need a C++20 compiler and Qt 6.7+ with the following 'additional librairies':

  • Qt Multimedia
  • Qt Positioning

For macOS and iOS builds, you'll need Xcode (15+) installed.
For Windows builds, you'll need MSVC 2019 (up to Qt 6.7) or MSVC 2022 (for Qt 6.8+) installed. Bluetooth won't work with MinGW.
For Android builds, you'll need the appropriates JDK (17) SDK (23+) and NDK (26b+). You can customize Android build environment using the assets/android/gradle.properties file.

Building QmlMobileScanner

$ git clone https://github.com/emericg/QmlMobileScanner.git
$ cd QmlMobileScanner/
$ cmake -B build/
$ cmake --build build/

Screenshots

GUI_MOBILE

GUI_DESKTOP

Third party projects used by QmlMobileScanner

Get involved!

Developers

You can browse the code on the GitHub page, submit patches and pull requests! Your help would be greatly appreciated ;-)

Users

You can help us find and report bugs, suggest new features, help with translation, documentation and more! Visit the Issues section of the GitHub page to start!

License

QmlMobileScanner is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
Read the LICENSE file or consult the license on the FSF website directly.

Emeric Grange [email protected]

About

Barcode & QR code reader/writer based on qzxing, zxing-cpp and zint libraries

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published