ZXing.Net doesn't seem to be able scan more complicated PDF417 barcodes
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 12/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- csharp
- Ambito
- computer-vision, mobile-dev
Direzione di ricerca
The report concerns PDF417 decoding through CameraBarcodeReaderView with BarcodeReaderOptions (TryHarder, AutoRotate, Multiple, and Formats set to TwoDimensional), and the reporter says the older Xamarin ZXing build reads the same license. Start by getting a sample image of the California license back and decoding it with the core ZXing.Net PDF417 reader using TryHarder on, outside MAUI, to see whether the failure is in the library or the wrapper. Done means that image decodes through the chosen path, which needs a reproduction the issue does not yet include.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Using ZXing.Net.Maui.Controls v0.4.0, which is based on ZXing.Net library, and the basic ZXing page and configuration, it can detect simple PDF417, but it fails to detect more complex ones, like the one on the back of a California drivers license. It also doesn't keep the torch on either, but flashes once when the page initializes. I've tried the barcode images samples on the internet by searching for "PDF417 images", only the simple ones are read....
I've tried two other packages, both based on ZXing.Net, BarcodeScanning.Native.Maui and Camera.MAUI/Camera.MAUI.ZXing. Neither works either for complex PDF417.
The Xamarin version of ZXing is able to read the CA drivers license barcode, fyi..
I'm using Visual Studio v17.9.2, XCode 15.3 and .net8.
Any insight will be appreciated.
This PDF417 scanning is for an app the County of Santa Cruz, CA is creating for our local law enforcement, so any help will be appreciated!!
Thanks!
Page:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:zxing="clr-namespace:ZXing.Net.Maui.Controls;assembly=ZXing.Net.MAUI.Controls"
x:Class="MyProject.Views.ScanPage"
Title="ScanPage">
<zxing:CameraBarcodeReaderView
x:Name="barcodeView"
IsTorchOn="True"
BarcodesDetected="BarcodesDetected" />
</ContentPage>
Code behind:
public partial class ScanPage : ContentPage
{
public ScanPage()
{
InitializeComponent();
BindingContext = this;
barcodeView.Options = new ZXing.Net.Maui.BarcodeReaderOptions()
{
TryHarder = true,
AutoRotate = true,
Multiple = true,
Formats = BarcodeFormats.TwoDimensional // | ZXing.Net.Maui.BarcodeFormat.QrCode | BarcodeFormat.Pdf417
};
barcodeView.IsTorchOn = true;
}
protected void BarcodesDetected(object sender, BarcodeDetectionEventArgs e)
{
foreach (var barcode in e.Results)
{ // dumps to Debug.WriteLine()...
App.Log($"Barcode: {barcode.Format} -> {barcode.Value}");
}
var first = e.Results?.FirstOrDefault();
if (first != null)
{
Dispatcher.DispatchAsync(async () =>
{
await DisplayAlert("Barcode detected", first.Value, "OK");
});
}
}
}
MauiProgram.cs:
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.UseMauiCommunityToolkit()
.UseBarcodeReader()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
})
.ConfigureMauiHandlers(handlers =>
{
handlers.AddHandler(typeof(PillCheckbox), typeof(PillCheckboxRenderer));
});
builder.Services.AddSingleton<IImageInfo, ImageInfo>();
#if DEBUG
builder.Logging.AddDebug();
#endif
var app = builder.Build();
//ServiceProviderHelper.Initialize(app.Services);
return app;
}
}
- Lingua principale
- C#
- Stelle
- 3.1k
- Fork
- 704
- Merge medio
- 13g 17h
- PR unite (30g)
- 2
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di micjahn/ZXing.Net
-
crop() overrides document "0 <= top <= Height"; should be top < Height like left < WidthForse già presa @hidingmyname l’ha presa 1 giorno fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
Difficoltà 3/5 Mezza giornata Idoneità per principianti 22/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 12/100
Tutte le issue di micjahn/ZXing.Net
Issue simili
-
possible bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
:1st_place_medal: good first issue :cowboy_hat_face: refactor :roller_coaster: enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ApplETS/Backend-Hello#78 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 2 giorni
-
Custom component in Summary2 no longer receives raw formData (regression from app-frontend v4)Apertastatus/triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
Altinn/altinn-studio#21642 ·
I maintainer di solito rispondono entro 1 giorno
-
bug effort:S P3
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
nightscout/nocturne#3093 ·
I maintainer di solito rispondono entro 1 giorno