view mupdf-source/thirdparty/zxing-cpp/example/ZXingQtReader.cpp @ 38:8934ac156ef5

Allow to build with the PyPI package "clang" instead of "libclang". 1. It seems to be maintained. 2. In the FreeBSD base system there is no pre-built libclang.so. If you need this library you have to install llvm from ports additionally. 2. On FreeBSD there is no pre-built wheel "libclang" with a packaged libclang.so.
author Franz Glasner <fzglas.hg@dom66.de>
date Tue, 23 Sep 2025 10:27:15 +0200
parents b50eed0cc0ef
children
line wrap: on
line source

/*
 * Copyright 2020 Axel Waggershauser
*/
// SPDX-License-Identifier: Apache-2.0

#include "ZXingQtReader.h"

#include <QDebug>

using namespace ZXingQt;

int main(int argc, char* argv[])
{
	if (argc != 2) {
		qDebug() << "Please supply exactly one image filename";
		return 1;
	}

	QString filePath = argv[1];

	QImage image = QImage(filePath);

	if (image.isNull()) {
		qDebug() << "Could not load the filename as an image:" << filePath;
		return 1;
	}

	auto options = ReaderOptions()
					 .setFormats(BarcodeFormat::MatrixCodes)
					 .setTryInvert(false)
					 .setTextMode(TextMode::HRI)
					 .setMaxNumberOfSymbols(10);

	auto barcodes = ReadBarcodes(image, options);

	for (auto& barcode : barcodes) {
		qDebug() << "Text:   " << barcode.text();
		qDebug() << "Format: " << barcode.format();
		qDebug() << "Content:" << barcode.contentType();
		qDebug() << "";
	}

	return barcodes.isEmpty() ? 1 : 0;
}