zxing 相关问题

ZXing(发音为“zebra crossing”)是一个用Java实现的开源,多格式1D / 2D条形码图像处理库,具有其他语言的端口。它的重点是使用手机上的内置摄像头扫描和解码设备上的条形码,而无需与服务器通信,尽管该库也支持在服务器上使用。

使用 Flutter 实现 Google Vision API

我不确定如何将其合并到现有的 flutter 项目中,而且我在网上找不到任何有用的指南或提示。 我希望实现一个二维条码扫描仪,但没有......

回答 3 投票 0

ngx-scanner 无法在设备中工作

我正在尝试使用 ngx-scanner (https://github.com/zxing-js/ngx-scanner),但按照说明操作后它不起作用。在 PC 上可以工作,但在其他设备上则不行(手机、平板电脑...)。我有...

回答 1 投票 0

我无法使用 ZXing.Net.Maui 检测运输标签条形码

在我的 .NET Maui 8.0 移动应用程序中,我需要能够扫描条形码。我正在使用 NuGet 包 ZXing.Net.Maui。我根据他们的 Git 页面设置了一切。 我的设置 我添加了 NuGet 包...

回答 1 投票 0

C# 使用ZXING.NET解码真实图像中的QRCODE

我正在尝试读取 USB 相机获取的图像中的二维码。 在其他帖子中,我读到最好的开源库是 ZXing。 如果二维码来自数字生成的图像...

回答 2 投票 0

有人有一个可以实际运行的 JS zxing 示例吗?

@xzing/库0.17.0 节点 12.13.1 我在 jsQR 和 qrcode-reader 方面取得了一些成功,但无法让 zxing 工作。我在 http://zxing.org 上抛出的每张图像都会被解码,这让我相信 e...

回答 3 投票 0

cpp-ZXing如何生成宽字符的二维码?

#include“ReadBarcode.h” #包括 #包括 #包括 #include“BitMatrix.h” #include“BitMatrixIO.h” #包括“

回答 1 投票 0

JsBarcode不是函数,未捕获(在promise中)对象,未定义require,未定义ZXing

我无法让这段 JavaScript 代码正常工作,它一直给我错误。 这是我的代码: 我无法让这段 JavaScript 代码正常工作,它一直给我错误。 这是我的代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Barcode Generator and Scanner</title> <script src="https://cdn.jsdelivr.net/npm/jsbarcode"></script> <script src="https://unpkg.com/@zxing/browser@latest"></script> <style> body { font-family: Arial, sans-serif; margin: 20px; } .container { margin-bottom: 20px; } video { width: 100%; max-width: 400px; } svg { margin: 20px 0; } </style> </head> <body> <h1>Barcode Generator and Scanner</h1> <!-- Barcode Generator --> <div class="container"> <h2>Generate Barcode</h2> <label for="rewardsLevel">Rewards Level:</label> <select id="rewardsLevel"> <option value="1">Silver</option> <option value="2">Gold</option> <option value="3">Platinum</option> </select><br> <label for="email">Email:</label> <input type="email" id="email" placeholder="[email protected]"><br> <label for="issueDate">Issue Date:</label> <input type="date" id="issueDate"><br> <label for="name">Name:</label> <input type="text" id="name" placeholder="Your Name"><br><br> <button onclick="generateBarcode()">Generate Barcode</button> <svg id="barcode"></svg> <button id="downloadBarcode" onclick="downloadSVG()" style="display:none;">Download Barcode</button> </div> <!-- Barcode Scanner --> <div class="container"> <h2>Scan Barcode</h2> <button onclick="startScanner()">Start Scanner</button> <button onclick="resetScanner()">Reset Scanner</button> <video id="video" autoplay muted playsinline></video> <div id="decodedOutput" style="margin-top: 20px;"></div> </div> <script> // Barcode Generator function generateBarcode() { const rewardsLevel = document.getElementById("rewardsLevel").value; const email = document.getElementById("email").value; const issueDate = document.getElementById("issueDate").value.replace(/-/g, ''); const name = document.getElementById("name").value; if (!email || !issueDate || !name) { alert("Please fill in all fields."); return; } const barcodeValue = `${rewardsLevel}*${issueDate}*${email}*${name}`; const barcodeElement = document.getElementById("barcode"); JsBarcode(barcodeElement, barcodeValue, { format: "CODE128", width: 2, height: 100, displayValue: true }); document.getElementById("downloadBarcode").style.display = "block"; } // Download Barcode function downloadSVG() { const svg = document.getElementById("barcode"); const serializer = new XMLSerializer(); const source = serializer.serializeToString(svg); const blob = new Blob([source], { type: "image/svg+xml;charset=utf-8" }); const url = URL.createObjectURL(blob); const link = document.createElement("a"); link.href = url; link.download = "barcode.svg"; link.click(); URL.revokeObjectURL(url); } // Barcode Scanner let codeReader; const videoElement = document.getElementById("video"); async function startScanner() { if (!codeReader) { codeReader = new ZXing.BrowserMultiFormatReader(); } const devices = await codeReader.listVideoInputDevices(); if (devices.length === 0) { alert("No video input devices found."); return; } const selectedDeviceId = devices[0].deviceId; codeReader.decodeFromVideoDevice(selectedDeviceId, videoElement, (result, error) => { if (result) { displayDecodedData(result.text); codeReader.reset(); // Stop scanning once a code is detected } if (error) { console.error(error); } }); } function displayDecodedData(data) { const [level, date, email, name] = data.split('*'); const levels = { "1": "Silver", "2": "Gold", "3": "Platinum" }; const formattedDate = new Date(date.substring(0, 4), date.substring(4, 6) - 1, date.substring(6, 8)) .toLocaleDateString(undefined, { year: "numeric", month: "long", day: "numeric" }); const outputDiv = document.getElementById("decodedOutput"); outputDiv.innerHTML = ` <p><strong>Rewards Level:</strong> ${levels[level]}</p> <p><strong>Issue Date:</strong> ${formattedDate}</p> <p><strong>Email:</strong> ${email}</p> <p><strong>Name:</strong> ${name}</p> `; } function resetScanner() { if (codeReader) { codeReader.reset(); } videoElement.srcObject = null; document.getElementById("decodedOutput").innerHTML = ""; } </script> </body> </html> 当我运行它时,我收到这些错误: Uncaught ReferenceError: require is not defined JsBarcode.js:3:17 Uncaught (in promise) Object card:1 Uncaught (in promise) Object browser-polyfill.min.js:1 Uncaught (in promise) Object iframefallback:1 Uncaught (in promise) Object card:1 Uncaught (in promise) Object browser-polyfill.min.js:1 Uncaught TypeError: JsBarcode is not a function card:526 TypeError: JsBarcode is not a function web.assets_frontend_lazy.min.js:4107 ReferenceError: ZXing is not defined card:556 您只需要不同版本的 jsbarcode。 尝试: https://cdn.jsdelivr.net/npm/[email protected]/dist/JsBarcode.all.min.js <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Barcode Generator and Scanner</title> <!-- EDIT Replace this version of jsbarcode with the one below. <script src="https://cdn.jsdelivr.net/npm/jsbarcode"></script> --> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/JsBarcode.all.min.js"> </script> <script src="https://unpkg.com/@zxing/browser@latest"></script> <style> body { font-family: Arial, sans-serif; margin: 20px; } .container { margin-bottom: 20px; } video { width: 100%; max-width: 400px; } svg { margin: 20px 0; } </style> </head> <body> <h1>Barcode Generator and Scanner</h1> <!-- Barcode Generator --> <div class="container"> <h2>Generate Barcode</h2> <label for="rewardsLevel">Rewards Level:</label> <select id="rewardsLevel"> <option value="1">Silver</option> <option value="2">Gold</option> <option value="3">Platinum</option> </select><br> <label for="email">Email:</label> <input type="email" id="email" placeholder="[email protected]"><br> <label for="issueDate">Issue Date:</label> <input type="date" id="issueDate"><br> <label for="name">Name:</label> <input type="text" id="name" placeholder="Your Name"><br><br> <button onclick="generateBarcode()">Generate Barcode</button> <svg id="barcode"></svg> <button id="downloadBarcode" onclick="downloadSVG()" style="display:none;">Download Barcode</button> </div> <!-- Barcode Scanner --> <div class="container"> <h2>Scan Barcode</h2> <button onclick="startScanner()">Start Scanner</button> <button onclick="resetScanner()">Reset Scanner</button> <video id="video" autoplay muted playsinline></video> <div id="decodedOutput" style="margin-top: 20px;"></div> </div> <script> // Barcode Generator function generateBarcode() { const rewardsLevel = document.getElementById("rewardsLevel").value; const email = document.getElementById("email").value; const issueDate = document.getElementById("issueDate").value.replace(/-/g, ''); const name = document.getElementById("name").value; if (!email || !issueDate || !name) { alert("Please fill in all fields."); return; } const barcodeValue = `${rewardsLevel}*${issueDate}*${email}*${name}`; const barcodeElement = document.getElementById("barcode"); JsBarcode(barcodeElement, barcodeValue, { format: "CODE128", width: 2, height: 100, displayValue: true }); document.getElementById("downloadBarcode").style.display = "block"; } // Download Barcode function downloadSVG() { const svg = document.getElementById("barcode"); const serializer = new XMLSerializer(); const source = serializer.serializeToString(svg); const blob = new Blob([source], { type: "image/svg+xml;charset=utf-8" }); const url = URL.createObjectURL(blob); const link = document.createElement("a"); link.href = url; link.download = "barcode.svg"; link.click(); URL.revokeObjectURL(url); } // Barcode Scanner let codeReader; const videoElement = document.getElementById("video"); async function startScanner() { if (!codeReader) { codeReader = new ZXing.BrowserMultiFormatReader(); } const devices = await codeReader.listVideoInputDevices(); if (devices.length === 0) { alert("No video input devices found."); return; } const selectedDeviceId = devices[0].deviceId; codeReader.decodeFromVideoDevice(selectedDeviceId, videoElement, (result, error) => { if (result) { displayDecodedData(result.text); codeReader.reset(); // Stop scanning once a code is detected } if (error) { console.error(error); } }); } function displayDecodedData(data) { const [level, date, email, name] = data.split('*'); const levels = { "1": "Silver", "2": "Gold", "3": "Platinum" }; const formattedDate = new Date(date.substring(0, 4), date.substring(4, 6) - 1, date.substring(6, 8)) .toLocaleDateString(undefined, { year: "numeric", month: "long", day: "numeric" }); const outputDiv = document.getElementById("decodedOutput"); outputDiv.innerHTML = ` <p><strong>Rewards Level:</strong> ${levels[level]}</p> <p><strong>Issue Date:</strong> ${formattedDate}</p> <p><strong>Email:</strong> ${email}</p> <p><strong>Name:</strong> ${name}</p> `; } function resetScanner() { if (codeReader) { codeReader.reset(); } videoElement.srcObject = null; document.getElementById("decodedOutput").innerHTML = ""; } </script> </body> </html>

回答 1 投票 0

无法解码 Aztec 条形码

我正在尝试使用以下脚本解码 Aztec 条形码: 导入ZXING 阅读器 = zxing.BarCodeReader() 条形码 = reader.decode("test.png") 打印(条形码) 这是输入图像:

回答 2 投票 0

ZXing、Android、JetPack Compose - 在二维码周围绘制边界框

我正在 Android 中使用 Jetpack Compose 构建 QR 码扫描仪。扫描部分和读取 QR 码中的位值工作良好且符合预期。然而,作为我原型的一部分,我想要......

回答 1 投票 0

zxing库在android中不扫描二维码黑底白码(负扫描)

在我的应用程序中使用zxing库扫描二维码,但库不支持扫描黑码中的白色(负扫描),所以请建议我解决如何解决此问题。

回答 2 投票 0

xcode4“dyld:找不到符号:_OBJC_CLASS_$_AVCaptureDevice”错误

我的 iPhone 应用程序在 IOS 4.3 模拟器中运行,但不在任何其他 IOS 4.0+ 模拟器中运行。尽管如此,它还是会在那里运行。 我收到以下错误 - GNU gdb 6.3.50-20050815(苹果版 gdb-1518)(S...

回答 5 投票 0

如何使用ZXing检测复杂的二维码?

我们的团队正在使用 ZXing 3.4.0 库编写 Android 二维码扫描应用程序,我们需要扫描相当复杂的二维码,如下所示。我们测试了一下,发现扫描有些不稳定...

回答 1 投票 0

无法将ZXingObjC集成到iOS Swift项目中

我正在开发一个 iOS 项目,该项目在条形码中显示客户编号。我已经使用 CocoaPods 安装了 ZXingObjC 框架,如 GitHub 中所述。 我可以毫无错误地编译我的项目。我...

回答 5 投票 0

找不到我.sudar:zxing-orient:2.1.1

我无法在android studio Koala上编译,出现以下错误: ` 无法缓存配置缓存状态:任务 :app:mapDebugSourceSetPaths 类型 com.android 的字段 __librarySourceSets__...

回答 1 投票 0

Zxing核心:3.5.2编码条码解码错误 -> NotFoundException

我尝试解码自己编码的条形码,但我不能。 编码条形码读取另一个条形码扫描仪应用程序。 我尝试使用位矩阵和位图来转换 BinaryBitmap 但总是返回 null 结果 是的,

回答 1 投票 0

flutter zxing2 扫描仪示例

flutter Zxing2 pub 包有任何工作示例吗?我确实尝试了官方的 pub 包示例 [https://pub.dev/packages/zxing2/example | Dart包]但是不起作用。我得到以下内容

回答 2 投票 0

使用zxing检测条形码后打开新页面:CameraBarcodeReaderView抛出COMException

我有一个普通的条形码阅读器应用程序,它尝试使用搜索结果导航到新页面,但我收到了这个奇怪的 COMException,我根本不明白。 主页.xaml: 我有一个普通的条形码阅读器应用程序,它尝试使用搜索结果导航到新页面,但我收到了这个奇怪的 COMException,我根本不明白。 MainPage.xaml: <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="MyApp.App.MainPage" xmlns:local="clr-namespace:MyApp.App" xmlns:zxing="clr-namespace:ZXing.Net.Maui.Controls;assembly=ZXing.Net.MAUI.Controls"> <ContentPage.BindingContext> <local:BarcodeScannerBindingContext /> </ContentPage.BindingContext> <VerticalStackLayout Padding="30,0" Spacing="25"> <zxing:CameraBarcodeReaderView x:Name="cameraBarcodeReaderView" BarcodesDetected="OnBarcodesDetected" IsDetecting="{Binding IsDetectingInternal}" IsEnabled="{Binding IsDetectingInternal}" /> </VerticalStackLayout> </ContentPage> MainPage.xaml.cs: private async void OnBarcodesDetected(object sender, BarcodeDetectionEventArgs e) { if (e.Results.Count() > 0) { BindingContext.IsDetectingInternal = false; string barcode = e.Results[0].Value; await Navigation.PushAsync(new ResultsPage(barcode)); //Throws COMException } } 堆栈跟踪: 在 WinRT.ExceptionHelpers.g__Throw|39_0(Int32 小时) 在 ABI.Microsoft.UI.Xaml.Controls.ICommandBarMethods.get_PrimaryCommands(IObjectReference _obj) 在 Microsoft.UI.Xaml.Controls.CommandBar.get_PrimaryCommands() 在 Microsoft.Maui.Controls.Toolbar.UpdateMenu() 在 Microsoft.Maui.Controls.Toolbar.MapToolbarItems(IToolbarHandler arg1,工具栏 arg2) 在 Microsoft.Maui.PropertyMapperExtensions.c__DisplayClass2_0`2.b__0(TViewHandler h, TVirtualView v, Action`2 p) 在 Microsoft.Maui.PropertyMapperExtensions.c__DisplayClass1_0`2.g__newMethod|0(IElementHandler 处理程序,IElement 视图) 在 Microsoft.Maui.PropertyMapper`2.c__DisplayClass5_0.b__0(IElementHandler h, IElement v) 在 Microsoft.Maui.PropertyMapper.UpdatePropertyCore(字符串键,IElementHandler viewHandler,IElement virtualView) 在 Microsoft.Maui.PropertyMapper.UpdateProperty(IElementHandler viewHandler,IElement virtualView,字符串属性) 在 Microsoft.Maui.Handlers.ElementHandler.UpdateValue(字符串属性) 在 Microsoft.Maui.Controls.Toolbar.SetProperty[T](T& backingStore, T value, String propertyName) 在 Microsoft.Maui.Controls.Toolbar.set_ToolbarItems(IEnumerable`1 值) 在 Microsoft.Maui.Controls.NavigationPageToolbar.ApplyChanges(NavigationPage navigationPage) 在 Microsoft.Maui.Controls.NavigationPageToolbar.NavigationPageChildrenChanged(Object s, ElementEventArgs a) 在 Microsoft.Maui.Controls.Element.OnChildAdded(Element child) 在 Microsoft.Maui.Controls.VisualElement.OnChildAdded(元素子级) 在 Microsoft.Maui.Controls.Element.InsertLogicalChild(Int32 索引,Element 元素) 在 Microsoft.Maui.Controls.Page.InternalChildrenOnCollectionChanged(对象发送者,NotifyCollectionChangedEventArgs e) 在 System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e) 在 Microsoft.Maui.Controls.NavigationPage.PushPage(页面页面) 在 Microsoft.Maui.Controls.NavigationPage.MauiNavigationImpl.c__DisplayClass9_0.b__0() 在 Microsoft.Maui.Controls.NavigationPage.d__100.MoveNext() 在 MyApp\MyApp.App\MainPage.xaml.cs 中的 MyApp.App.MainPage.d__3.MoveNext() 处:第 45 行 P.S.:BarcodeScannerBindingContext的代码取自这里 问题:我需要关闭扫描仪吗?如果需要,如何关闭? 所以,这是一个线程问题。是什么解决了这个问题(感谢@IV.的输入): private void OnBarcodesDetected(object sender, BarcodeDetectionEventArgs e) { if (e.Results.Count() > 0) { BindingContext.IsDetectingInternal = false; string barcode = e.Results[0].Value; Action action = () => { Navigation.PushAsync(new ResultsPage(barcode)); }; App.Current.Mainpage.Dispatcher?.DispatchAsync(action); } }

回答 1 投票 0

Camera.MAUI.ZXing (.Net 8) 该功能未检测到我的相机

我在 .Net MAUI 项目中使用 Camera.MAUI.ZXing 和 Camera.MAUI。 在我的 xaml.cs 上,我有以下代码: 私有异步无效InitializeCamera() { // 条码检测 相机视图。

回答 1 投票 0

zxing 无法识别 dymo 打印机的二维码

我尝试通过 zxing lib for java 从扫描文档中读取 QRCode 贴纸。不幸的是,代码可以工作,但来自我的 Dymo 打印机的二维码根本无法识别。这是合作...

回答 1 投票 0

使用 ZXing 在 .NET 8 上使用 C# 编写条形码阅读器

我正在尝试编写一个 C# 类来使用 ZXing.Net 0.16.9 版本从 bmp 文件中读取条形码。 这是老方法: BarcodeReader br = new BarcodeReader(); 字符串文本 = br.Decode(bmpFile).ToStr...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.