ZXing(发音为“zebra crossing”)是一个用Java实现的开源,多格式1D / 2D条形码图像处理库,具有其他语言的端口。它的重点是使用手机上的内置摄像头扫描和解码设备上的条形码,而无需与服务器通信,尽管该库也支持在服务器上使用。
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>
我正在尝试使用以下脚本解码 Aztec 条形码: 导入ZXING 阅读器 = zxing.BarCodeReader() 条形码 = reader.decode("test.png") 打印(条形码) 这是输入图像:
ZXing、Android、JetPack Compose - 在二维码周围绘制边界框
我正在 Android 中使用 Jetpack Compose 构建 QR 码扫描仪。扫描部分和读取 QR 码中的位值工作良好且符合预期。然而,作为我原型的一部分,我想要......
zxing库在android中不扫描二维码黑底白码(负扫描)
在我的应用程序中使用zxing库扫描二维码,但库不支持扫描黑码中的白色(负扫描),所以请建议我解决如何解决此问题。
xcode4“dyld:找不到符号:_OBJC_CLASS_$_AVCaptureDevice”错误
我的 iPhone 应用程序在 IOS 4.3 模拟器中运行,但不在任何其他 IOS 4.0+ 模拟器中运行。尽管如此,它还是会在那里运行。 我收到以下错误 - GNU gdb 6.3.50-20050815(苹果版 gdb-1518)(S...
我们的团队正在使用 ZXing 3.4.0 库编写 Android 二维码扫描应用程序,我们需要扫描相当复杂的二维码,如下所示。我们测试了一下,发现扫描有些不稳定...
我正在开发一个 iOS 项目,该项目在条形码中显示客户编号。我已经使用 CocoaPods 安装了 ZXingObjC 框架,如 GitHub 中所述。 我可以毫无错误地编译我的项目。我...
我无法在android studio Koala上编译,出现以下错误: ` 无法缓存配置缓存状态:任务 :app:mapDebugSourceSetPaths 类型 com.android 的字段 __librarySourceSets__...
Zxing核心:3.5.2编码条码解码错误 -> NotFoundException
我尝试解码自己编码的条形码,但我不能。 编码条形码读取另一个条形码扫描仪应用程序。 我尝试使用位矩阵和位图来转换 BinaryBitmap 但总是返回 null 结果 是的,
flutter Zxing2 pub 包有任何工作示例吗?我确实尝试了官方的 pub 包示例 [https://pub.dev/packages/zxing2/example | Dart包]但是不起作用。我得到以下内容
使用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); } }
Camera.MAUI.ZXing (.Net 8) 该功能未检测到我的相机
我在 .Net MAUI 项目中使用 Camera.MAUI.ZXing 和 Camera.MAUI。 在我的 xaml.cs 上,我有以下代码: 私有异步无效InitializeCamera() { // 条码检测 相机视图。
我尝试通过 zxing lib for java 从扫描文档中读取 QRCode 贴纸。不幸的是,代码可以工作,但来自我的 Dymo 打印机的二维码根本无法识别。这是合作...
使用 ZXing 在 .NET 8 上使用 C# 编写条形码阅读器
我正在尝试编写一个 C# 类来使用 ZXing.Net 0.16.9 版本从 bmp 文件中读取条形码。 这是老方法: BarcodeReader br = new BarcodeReader(); 字符串文本 = br.Decode(bmpFile).ToStr...
(如何)使用ZXing.Net可以在没有安静区域的情况下创建二维码吗? 这是我当前的代码: BarcodeWriter BarcodeWriter = new BarcodeWriter(); BarcodeWriter.Format = BarcodeFormat.QR_C...
我正在使用TDelphiZXingQRCode在FireMonkey(FMX)中生成QRCode。 将图像保存为 BITMAP 时遇到问题:图像尺寸始终为 29x29 我不明白如何将图片变成100...
我正在创建一个Android应用程序,想要集成ZXing QR Scanner。当我从 Intent 启动 QRScanner 活动时,我收到消息“权限被拒绝,您无法访问和摄像...
Xamarin C# Android Zxing 二维码扫描仪
当我尝试激活相机(等待scanner.Scan())时出现异常: System.NullReferenceException:“未将对象引用设置为对象的实例。” 这是我的按钮: 私有异步无效
我尝试使用多种方式扫描二维码,例如react-qr-reader、react-qr-scanner,但所有这些都与最新的react版本存在依赖问题。 因此我尝试了 zxing ,它有效但无效
我有一个在xamarin中的项目,我想将其转移到MAUI,但我遇到了一个问题,那就是ZXing.Mobile不适用于MAUI,我已经下载了ZXing.Net.Maui。 该项目...