Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
2bda812
C Wrapper Barcode Live Example
Aug 5, 2025
6086e0d
Use goto in c wrapper example
Aug 6, 2025
51420c7
Readme files c wrapper
Aug 6, 2025
649cd88
Add tensorrt support
Aug 6, 2025
a13b192
Improve FindScanbotSDK.cmake
Aug 6, 2025
e021d63
refactor structure of java example. added new snippets
yurii-scanbot Aug 6, 2025
be1b02b
refactor structure of python example
yurii-scanbot Aug 6, 2025
4ae7a0a
merge c wrapper example
yurii-scanbot Aug 6, 2025
ed2aceb
fixed merge conflics c barcode examples
yurii-scanbot Aug 7, 2025
a4573e2
restructure project and add scan/analyze/classify/parse snippets with…
yurii-scanbot Aug 18, 2025
b88612a
add snippets for nodejs wrapper
yurii-scanbot Aug 21, 2025
5afb93a
Merge pull request #20 from doo/yk/snippets_nodejs
yurii-scanbot Aug 21, 2025
9aed4c2
replace magic constants
yurii-scanbot Aug 21, 2025
14765af
remove function declarations from headers that aren't in use
yurii-scanbot Aug 21, 2025
a155f75
refactor main.c, for early outs always goto cleanup
yurii-scanbot Aug 21, 2025
984e928
refactor snippets cleanups and unnecessary condition under default cr…
yurii-scanbot Aug 21, 2025
01939df
refactored analyse sumcommand and floatin license snippets with clear…
yurii-scanbot Aug 22, 2025
c129240
added optional param for --license in cli
yurii-scanbot Aug 22, 2025
fbc934d
updated nodejs snippets with better way to dispose unmanaged resource…
yurii-scanbot Aug 22, 2025
cd6045b
added --license key flag from cli to java and python examples
yurii-scanbot Aug 22, 2025
70ca861
rename mrz parser snippet java
yurii-scanbot Aug 22, 2025
308eaea
separate live scanners snippets
yurii-scanbot Aug 25, 2025
5c8bd8b
refactor java snippets, improve comments
yurii-scanbot Aug 26, 2025
499dcc4
removed unnecessary license checks inside of code snippets and remove…
yurii-scanbot Aug 26, 2025
da1269d
prepare image processing snippets
yurii-scanbot Aug 28, 2025
db25ae7
awaitPromise function in nodejs example
Sep 2, 2025
bf2780c
python wrapper snippets refactoring
yurii-scanbot Sep 2, 2025
c894030
add missing frame_callback in live example
yurii-scanbot Sep 3, 2025
975be33
revert back description under from_ndarray on_frame
yurii-scanbot Sep 3, 2025
c51202d
update readme python example
yurii-scanbot Sep 3, 2025
76ef3d5
removed release tag from readme manual python
yurii-scanbot Sep 3, 2025
b001d78
add nodejs readme guid
yurii-scanbot Sep 3, 2025
5238d32
update readme for node/java/python
yurii-scanbot Sep 4, 2025
3732884
node wrapper refactoring. split print result for barcode scanners
yurii-scanbot Sep 11, 2025
d2c9cce
updated python example structure
yurii-scanbot Sep 11, 2025
d4fb60d
replaced int status with meaningful string for all cases in C examples
yurii-scanbot Sep 11, 2025
3548e81
update image processing snippets
yurii-scanbot Sep 11, 2025
e8be748
update readmes with esage and example
yurii-scanbot Sep 11, 2025
3402634
refactor live python example and add in addition document scanner
yurii-scanbot Sep 12, 2025
5d9e96f
refactor readme's version exports and minor comment updates
yurii-scanbot Sep 12, 2025
aa8c857
fixed live python examples
yurii-scanbot Sep 12, 2025
de83c39
unify analyze commands and fix imports for analyze_multi_page snippet
yurii-scanbot Sep 22, 2025
083487b
add live command in C example and refactor RandomAccessSource usage i…
yurii-scanbot Sep 30, 2025
3bda823
update readme
yurii-scanbot Oct 2, 2025
bb04ec5
update readme licensing and pricing block
yurii-scanbot Oct 2, 2025
e46d870
update analyze quality snippets python
yurii-scanbot Oct 22, 2025
9186b0d
Fix spelling and additional lines
cheetoblue Nov 6, 2025
dd2dfe3
C: Fix UB in main image cleanup
Nov 18, 2025
ffb3943
Fix not handled nullptr in credit card scanner example
Nov 20, 2025
80a4b28
Do not print generic document if it's null
Nov 20, 2025
52a3feb
Make python examples 3.6 compatible
Nov 24, 2025
987eecc
update to 0.800.5 and add use_tensorrt flag for live examples
yurii-scanbot Nov 27, 2025
5455e88
Merge pull request #24 from doo/yk/0.800.5-update
yurii-scanbot Nov 27, 2025
63f03a4
Remove floating license from examples
Dec 1, 2025
c4072da
Fix incorrect return type of get_flag
Dec 3, 2025
7c168bc
[CI-1003] setup tests and dockerfile
sns8aqua Dec 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,9 @@
.DS_Store
statistics.dat
examples/python/__pycache__
examples/c/build/*
examples/nodejs/node_modules
examples/java/libs/*.jar
get-pip.py
.env
.venv
149 changes: 149 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@

FROM debian:bookworm-slim AS base

# Build Arguments
ARG ARCH
ARG SDK_VERSION
ARG JAVA_VERSION=17
ARG SCANBOT_LICENSE

# Environment Variables
ENV ARCH=${ARCH} \
SDK_VERSION=${SDK_VERSION} \
JAVA_VERSION=${JAVA_VERSION} \
PYENV_ROOT="/opt/pyenv" \
PATH="/opt/pyenv/bin:/opt/pyenv/shims:$PATH" \
SDK_BASE_URL="https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv" \
SCANBOT_LICENSE=${SCANBOT_LICENSE} \
LANG=C.UTF-8 \
LC_ALL=C.UTF-8

# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
# Build tools
build-essential \
cmake \
make \
libssl-dev \
zlib1g-dev \
libbz2-dev \
libreadline-dev \
libsqlite3-dev \
libffi-dev \
liblzma-dev \
# Languages
openjdk-${JAVA_VERSION}-jdk \
# Utilities
curl \
git \
ca-certificates \
# Add Node.js repository and install
&& curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - \
&& apt-get install -y nodejs \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

# Install pyenv and Python 3.6.15
RUN git clone --depth=1 https://github.com/pyenv/pyenv.git $PYENV_ROOT \
&& pyenv install 3.6.15 \
&& pyenv global 3.6.15 \
&& pyenv rehash

# Set JAVA_HOME
RUN export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") && \
echo "JAVA_HOME=$JAVA_HOME" >> /etc/environment

ENV PATH="/opt/venv/bin:${PATH}"

# Verify Java installation
RUN java -version && javac -version

# Set up Python packages
RUN export PATH="/opt/pyenv/bin:/opt/pyenv/shims:$PATH" \
&& eval "$(/opt/pyenv/bin/pyenv init -)" \
&& python -m pip install --upgrade pip setuptools wheel \
# The opencv-python version is specified to ensure compatibility with Python 3.6 and speed up docker builds
# Once the python is upgraded to 3.7+, this can be changed to just `opencv-python`
&& python -m pip install opencv-python==4.5.5.64 numpy pillow

# Install Python SDK
RUN if [ "${ARCH}" = "linux-aarch64" ]; then \
PYTHON_ARCH="linux_aarch64"; \
SDK_ARCH="linux-aarch64"; \
else \
PYTHON_ARCH="linux_x86_64"; \
SDK_ARCH="linux-x86_64"; \
fi && \
python -m pip install "${SDK_BASE_URL}${SDK_VERSION}/scanbotsdk-${SDK_VERSION}-py3-none-${PYTHON_ARCH}.whl" && \
echo "Python SDK installed successfully"

# Set working directory and copy source code
WORKDIR /workspaces/scanbot-sdk-example-linux
COPY . .

# Download and install all remaining SDKs in optimal locations
RUN echo "Installing Java and C SDKs for architecture: ${ARCH}" && \
# Set the correct SDK architecture for downloads
if [ "${ARCH}" = "linux-aarch64" ]; then \
SDK_ARCH="linux-aarch64"; \
else \
SDK_ARCH="linux-x86_64"; \
fi && \
# Download platform-dependent SDKs (Java and C only)
curl -L -O "${SDK_BASE_URL}${SDK_VERSION}/scanbotsdk-${SDK_VERSION}-${SDK_ARCH}.jar" && \
curl -L -O "${SDK_BASE_URL}${SDK_VERSION}/scanbotsdk-${SDK_VERSION}-${SDK_ARCH}.tar.gz" && \
# Install Node.js SDK (platform-independent npm package)
cd examples/nodejs && \
npm install "${SDK_BASE_URL}${SDK_VERSION}/nodejs-scanbotsdk-${SDK_VERSION}.tgz" && \
cd /workspaces/scanbot-sdk-example-linux && \
# Setup Java SDK
mkdir -p examples/java/build/libs && \
cp "scanbotsdk-${SDK_VERSION}-${SDK_ARCH}.jar" examples/java/build/libs/scanbotsdk.jar && \
# Setup C SDK
mkdir -p examples/c/build/scanbotsdk && \
tar -xzf "scanbotsdk-${SDK_VERSION}-${SDK_ARCH}.tar.gz" -C examples/c/build/scanbotsdk --strip-components=1 && \
# Clean up downloads
rm -f *.tar.gz *.jar && \
echo "All SDKs installed successfully"

# Copy test scripts
COPY test-scripts/ /tests/
RUN chmod +x /tests/*.sh

# SDK Verification Stage
FROM base AS sdk-verification
RUN echo "=== Comprehensive SDK Verification ===" \
&& python -c "import scanbotsdk; print('Python SDK: Verified')" \
&& cd examples/nodejs && npm install && node -e "const sdk = require('scanbotsdk'); console.log(sdk ? 'OK' : 'FAIL');" \
&& cd /workspaces/scanbot-sdk-example-linux/examples/java && GRADLE_OPTS="-Dfile.encoding=UTF-8" ./gradlew check --no-daemon && echo "Java SDK: Verified" \
&& cd /workspaces/scanbot-sdk-example-linux/examples/c && mkdir -p build && cd build && cmake -DSCANBOTSDK_VERSION=${SDK_VERSION} .. && make && echo "C SDK: OK"

# Python Tests Stage
FROM sdk-verification AS python-tests
RUN echo "=== Running Python Command Tests ===" \
&& /tests/test-python.sh

# Java Tests Stage
FROM sdk-verification AS java-tests
RUN echo "=== Running Java Command Tests ===" \
&& /tests/test-java.sh

# Node.js Tests Stage
FROM sdk-verification AS nodejs-tests
RUN echo "=== Running Node.js Command Tests ===" \
&& /tests/test-nodejs.sh

# C Tests Stage
FROM sdk-verification AS c-tests
RUN echo "=== Running C Command Tests ===" \
&& /tests/test-c.sh

# All Tests Stage
FROM sdk-verification AS all-tests
RUN echo "=== Running Complete Test Suite ===" \
&& /tests/run-all-tests.sh \
&& echo "Python import and commands verified" \
&& echo "Java compilation and commands verified" \
&& echo "Node.js compilation and commands verified" \
&& echo "C compilation and commands verified"


107 changes: 56 additions & 51 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,80 +5,85 @@
<img src=".images/ScanbotSDKLogo_darkmode.png#gh-dark-mode-only" width="15%" />
</p>

# Example App for the Scanbot Linux Barcode Scanner SDK (Beta)
# Example App for the Scanbot Linux SDK

This example app demonstrates integrating the Scanbot Linux Barcode Scanner SDK into C++ and Python applications.
This example app demonstrates integrating the Scanbot Linux SDK into Python, Java, Node.js, and C applications.

## What is the Scanbot SDK?

The [Scanbot SDK](https://scanbot.io/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites) is a set of high-level APIs that integrates barcode, document scanning and data extraction functionalities into mobile apps, websites, and software server for environments, embedded systems, and edge devices. It operates entirely on-device, and no data is transmitted to our or third-party servers.
The [Scanbot SDK](https://scanbot.io/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites) is a set of high-level APIs for implementing **barcode scanning**, **document scanning**, and **data extraction** functionalities into mobile and web apps. The Linux SDK extends the range of platforms to **server environments**, **embedded systems**, and **edge devices**. It uses on-device processing without sending any data to third-party servers.

❗Please note that we currently only offer our **Barcode Scanning SDK for Linux through a closed Beta**. However, the SDK and a trial license are available on request. Please [contact us](mailto:beta@scanbot.io) to receive your trial license.
The Scanbot Linux SDK is **a pure C library** and comes with wrappers for **Python**, **Java**, and **Node.js**, making it compatible with a wide range of development environments. On devices with **TensorRT support**, like the NVIDIA Jetson, GPU acceleration increases the barcode scanning speed up to 3x.

Refer to the respective README files in the examples' directories for more details.
💡 For more details about the Scanbot SDK, check out the [documentation](https://docs.scanbot.io/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites).

## Barcode Scanner SDK
## Technical requirements

The Scanbot Linux Barcode Scanner SDK extracts barcode data from images. It returns this information as a simple list. The SDK is perfect for deployment on private clouds, drones, robots, and edge devices running Ubuntu, Raspberry Pi OS, or Debian.
- **Supported platforms:**

### Technical requirements
- **Linux systems with glibc ≥ 2.27** (e.g., Ubuntu 18.04 / 20.04 / 22.04 LTS, Debian 11 / 12, Raspberry Pi OS 64-bit)

* **Supported architectures**: ARM64 and x86_64.
* **Camera**: Camera with autofocus and at least 720p resolution.
* **GPU support**: Uses GPU acceleration on platforms with TensorRT, such as NVIDIA Jetson.
- **NVIDIA Jetson devices**

### Performance overview
* **Supported architectures**:
* ARM64 and x86_64
* **Camera**:
* Camera with autofocus and at least 720p resolution
* **GPU support**:
* Uses GPU acceleration on platforms with TensorRT, such as NVIDIA Jetson

Performance with a 1280x720 input image size with NEXT_GEN engine mode:
| Device | Frame-rate |
|---------------------------------------------------|------------|
| Raspberry Pi 4 | ~8.5 FPS |
| NVidia Jetson Orin Nano 8GB | ~40 FPS |
| NVidia Jetson Orin Nano 8GB with GPU acceleration | ~85 FPS |
## Performance overview

### Supported barcodes
Performance with a 1280x720 input image size and using the `NEXT_GEN` engine mode:
| Device | Framerate |
| ------------------------------------------------- | --------- |
| Raspberry Pi 4 | ~8.5 FPS |
| NVidia Jetson Orin Nano 8GB | ~40 FPS |
| NVidia Jetson Orin Nano 8GB with GPU acceleration | ~85 FPS |

The Scanbot Barcode Scanner SDK supports all common 1D- or 2D barcode formats, including:
## Feature overview

| Barcode type | Barcode symbologies |
|:-------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1D Barcodes | [EAN](https://scanbot.io/barcode-scanner-sdk/ean/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites), [UPC](https://scanbot.io/barcode-scanner-sdk/upc/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites), [Code 128](https://scanbot.io/barcode-scanner-sdk/code-128/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites), [GS1-128](https://scanbot.io/barcode-scanner-sdk/gs1-128/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites), [Code 39](https://scanbot.io/barcode-scanner-sdk/code-39/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites), [Codabar](https://scanbot.io/barcode-scanner-sdk/codabar/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites), [ITF](https://scanbot.io/barcode-scanner-sdk/itf-code/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites), Code 25, Code 32, Code 93, Code 11, MSI Plessey, Standard 2 of 5, IATA 2 of 5,  Databar (RSS), GS1 Composite |
| 2D Barcodes | [QR Code](https://scanbot.io/glossary/qr-code/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites), Micro QR Code, [Aztec Code](https://scanbot.io/barcode-scanner-sdk/aztec-code/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites), [PDF417 Code](https://scanbot.io/barcode-scanner-sdk/pdf417/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites), [Data Matrix Code,](https://scanbot.io/barcode-scanner-sdk/data-matrix/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites) [GiroCode](https://scanbot.io/glossary/giro-code/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites), [NTIN Code](https://scanbot.io/glossary/gtin/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites), [PPN](https://scanbot.io/glossary/ppn/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites), [UDI](https://scanbot.io/glossary/udi/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites), [Royal Mail Mailmark](https://scanbot.io/barcode-scanner-sdk/royal-mail/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites), MaxiCode |
- [Barcode scanning](https://docs.scanbot.io/linux/barcode-scanner-sdk/introduction/)
- [Document scanning](https://docs.scanbot.io/linux/document-scanner-sdk/introduction/)
- [Document quality analysis](https://docs.scanbot.io/linux/document-scanner-sdk/08-document-quality-analyzer/introduction/)
- [OCR (optical character recognition)](https://docs.scanbot.io/linux/data-capture-modules/ocr/introduction/)
- [Text pattern scanning](https://docs.scanbot.io/linux/data-capture-modules/text-pattern-scanner/introduction/)
- [MRZ scanning](https://docs.scanbot.io/linux/data-capture-modules/mrz-scanner/introduction/)
- [Document data extraction](https://docs.scanbot.io/linux/data-capture-modules/document-data-extractor/introduction/)
- [VIN (vehicle identification number) scanning](https://docs.scanbot.io/linux/data-capture-modules/vin-scanner/introduction/)
- [Credit card scanning](https://docs.scanbot.io/linux/data-capture-modules/credit-card-scanner/introduction/)
- [Check (MICR) scanning](https://docs.scanbot.io/linux/data-capture-modules/check-scanner/introduction/)
- [Medical certificate scanning](https://docs.scanbot.io/linux/data-capture-modules/medical-certificate-scanner/introduction/)

## Additional information
## Licensing and pricing

### Guides and Tutorials
A trial license key is required for evaluation or testing. To get a free trial license, please contact us at csm@scanbot.io.

Integrating the Scanbot Barcode Scanner SDK takes just a few minutes, and our step-by-step guides make the process even easier.
[Contact our team](https://scanbot.io/contact-sales/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites) to receive your quote.

💡Please check out our [Linux Tutorial ](https://scanbot.io/techblog/c-plus-plus-barcode-scanner-raspberry-pi-tutorial/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites)for an overview of how to get started.
## Running Tests

Alternatively, visit our [developer blog](https://scanbot.io/techblog/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites) for a collection of in-depth tutorials, use cases, and best practices for the Scanbot SDK.
The test scripts validate SDK integration, detect compilation errors, and check license issues across all supported languages (Python, Java, Node.js, C).
[Detailed documentation](test-scripts/README.md)

### Free integration support
## Other supported platforms

Need help integrating our barcode scanning software into your Linux apps? We offer [free developer support](https://docs.scanbot.io/support/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites) via Slack, MS Teams, or email.
The Scanbot SDK is also available on Android, iOS, and most common cross-platform environments, such as React Native, Flutter, and .NET MAUI:

As a customer, you also get access to a dedicated support Slack or Microsoft Teams channel to talk directly to your Customer Success Manager and our engineers.
- [Android](https://github.com/doo/scanbot-sdk-example-android) (native)
- [iOS](https://github.com/doo/scanbot-sdk-example-ios) (native)
- [Web](https://github.com/doo/scanbot-sdk-example-web)
- [React Native](https://github.com/doo/scanbot-sdk-example-react-native)
- [Flutter](https://github.com/doo/scanbot-sdk-example-flutter)
- [Capacitor & Ionic (Angular)](https://github.com/doo/scanbot-sdk-example-capacitor-ionic)
- [Capacitor & Ionic (React)](https://github.com/doo/scanbot-sdk-example-ionic-react)
- [Capacitor & Ionic (Vue.js)](https://github.com/doo/scanbot-sdk-example-ionic-vuejs)
- [.NET MAUI](https://github.com/doo/scanbot-sdk-maui-example)
- [Xamarin](https://github.com/doo/scanbot-sdk-example-xamarin) & [Xamarin.Forms](https://github.com/doo/scanbot-sdk-example-xamarin-forms)
- [Cordova & Ionic](https://github.com/doo/scanbot-sdk-example-ionic)

### Licensing and pricing

A trial license key is required for evaluation or testing. To get a free "no-strings-attached" trial license, please request one [here](mailto:beta@scanbot.io).

Our pricing model is simple: Unlimited barcode scanning for a flat annual license fee, full support included. There are no tiers, usage charges, or extra fees. [Contact](https://scanbot.io/contact-sales/?utm_source=github.com&utm_medium=referral&utm_campaign=dev_sites) our team to receive your quote.

### Other supported platforms

Besides Linux, the Scanbot Barcode Scanner SDK is also available on:

* [Android (native)](https://github.com/doo/scanbot-barcode-scanner-sdk-example-android)
* [iOS (native)](https://github.com/doo/scanbot-barcode-scanner-sdk-example-ios)
* [JavaScript (web)](https://github.com/doo/scanbot-barcode-scanner-sdk-example-web)
* [React Native](https://github.com/doo/scanbot-barcode-scanner-sdk-example-react-native)
* [Flutter](https://github.com/doo/scanbot-barcode-scanner-sdk-example-flutter)
* [Capacitor & Ionic](https://github.com/doo/scanbot-barcode-scanner-sdk-example-capacitor-ionic)
* [Cordova & Ionic](https://github.com/doo/scanbot-barcode-scanner-sdk-example-cordova-ionic)
* [.NET MAUI](https://github.com/doo/scanbot-barcode-sdk-maui-example)
* [Xamarin & Xamarin.Forms](https://github.com/doo/scanbot-barcode-scanner-sdk-example-xamarin)
* [Compose Multiplatform / KMP](https://github.com/doo/scanbot-barcode-scanner-sdk-example-kmp)
* [UWP](https://github.com/doo/scanbot-barcode-scanner-sdk-example-windows) (Windows SDK)
- Barcode scanning only:
- [Compose Multiplatform / KMP](https://github.com/doo/scanbot-barcode-scanner-sdk-example-kmp)
- [UWP](https://github.com/doo/scanbot-barcode-scanner-sdk-example-windows) (Windows)
Loading