IRONSOFTWAREHOME

Korzystanie z IronBarcode w Blazorze

Curtis Chau
Curtis Chau
Updated: 29 czerwca 2026

Ten artykuł instruktażowy zawiera szczegółowe wskazówki dotyczące integracji IronBarcode z projektem Blazor. Jako przykład wykorzystamy IronBarcode w aplikacji Blazor do skanowania kodów kreskowych/QR uchwyconych przez kamerę internetową użytkownika.

Utwórz projekt Blazor

Otwórz Visual Studio => Utwórz nowy projekt => Aplikacja serwerowa Blazor:

Ustal nazwę i lokalizację projektu:

Wybierz platformę .NET Framework 6 (lub dowolną inną nowoczesną wersję .NET Standard):

I gotowi:

Aby dodać obsługę kamery internetowej, dodaj nowy komponent Razor:

Nadaj mu nazwę, a następnie kliknij Dodaj:

Włączanie funkcji kamery internetowej za pomocą JavaScript

Ponieważ ta aplikacja współpracuje z kamerą internetową użytkownika, ze względu na prywatność powinna obsługiwać dane po stronie klienta. Dodaj plik JavaScript do projektu, aby obsluzyc funkcjonalnosc kamery internetowej i nazwij go webcam.js:

Nie zapomnij dolaczyc odniesienia do webcam.js w index.html:

<script src="webcam.js"></script>
HTML

Dodaj nastepujacy kod do webcam.js:

// Current video stream
let videoStream;

// Function to initialize camera access and stream it to a video element
async function initializeCamera() {
    const canvas = document.querySelector("#canvas");
    const video = document.querySelector("#video");
    
    // Check if navigator supports media devices
    if (!("mediaDevices" in navigator) || !("getUserMedia" in navigator.mediaDevices)) {
        alert("Camera API is not available in your browser");
        return;
    }

    // Define video constraints
    const constraints = {
        video: {
            width: { min: 180 },
            height: { min: 120 }
        },
    };

    // Set camera facing mode: "user" for front camera, "environment" for back camera
    constraints.video.facingMode = useFrontCamera ? "user" : "environment";

    try {
        // Request camera access
        videoStream = await navigator.mediaDevices.getUserMedia(constraints);
        video.srcObject = videoStream;
    } catch (err) {
        alert("Could not access the camera: " + err);
    }
}
JavaScript

Musimy uruchomić kamerę internetową użytkownika. Wykonaj to, gdy strona sie laduje, przeciazajac metode OnInitializedAsync() klasy Index.razor. Wywolaj funkcje JavaScript initializeCamera(), ktora napisales wczesniej.

protected override async Task OnInitializedAsync()
{
    await JSRuntime.InvokeVoidAsync("initializeCamera");
}

Teraz dodaj tagi HTML, które uruchomią strumień wideo z kamery internetowej:

<section class="section">
    <video autoplay id="video" width="320"></video>
</section>
HTML

Uchwyć obraz

Aby przechwycic klatke z wideo z kamery internetowej, napiszmy kolejna funkcje JavaScript w webcam.js. Ta funkcja narysuje bieżącą klatkę z filmu źródłowego na obszarze docelowym.

// Function to capture a frame from the video and send it to the server via Blazor
function getFrame(dotNetHelper) {
    // Set canvas dimensions to match video
    canvas.width = video.videoWidth;
    canvas.height = video.videoHeight;
    
    // Draw the current video frame onto the canvas
    canvas.getContext('2d').drawImage(video, 0, 0);
    
    // Convert the canvas content to a base64 encoded PNG image
    let dataUrl = canvas.toDataURL("image/png");
    
    // Send the image data to the C# method `ProcessImage`
    dotNetHelper.invokeMethodAsync('ProcessImage', dataUrl);
}
JavaScript

Ta funkcja przechwyci klatke, zakoduje ja w base64, a nastepnie wysle zakodowany obraz do metody w C# o nazwie ProcessImage(). Metoda ProcessImage() jest nastepujaca: wysyla zakodowany obraz do API po stronie serwera w celu jego przetworzenia.

[JSInvokable]
public async Task ProcessImage(string imageString)
{
    // Create an image object containing the base64 data
    var imageObject = new CamImage();
    imageObject.imageDataBase64 = imageString;
    
    // Serialize image object to JSON
    var jsonObj = System.Text.Json.JsonSerializer.Serialize(imageObject);
    
    // Send image data to server-side API for processing
    var barcodeeResult = await Http.PostAsJsonAsync("Ironsoftware/ReadBarCode", imageObject);
    if (barcodeeResult.StatusCode == System.Net.HttpStatusCode.OK)
    {
        QRCodeResult = await barcodeeResult.Content.ReadAsStringAsync();
        StateHasChanged();
    }
}

Obsluguje wysylanie zakodowanego obrazu z getFrame() w JavaScript do API po stronie serwera w celu przetworzenia.

Następnie musimy wywołać tę funkcję JavaScript po kliknięciu przycisku Capture Frame. Pamietaj, nasz przycisk szuka funkcji obslugujacej o nazwie CaptureFrame.

private async Task CaptureFrame()
{
    await JSRuntime.InvokeAsync<String>("getFrame", DotNetObjectReference.Create(this));
}

IronBarcode – wyodrębnianie uchwyconego obrazu

Dodaj pakiet IronBarcode NuGet do projektu serwera:

dotnet add package IronBarCode

Teraz w projekcie serwera dodaj metodę API do przetwarzania zakodowanego obrazu i wyodrębniania wartości BarCode/QR. Poniższy kod dodaje funkcję odczytu kodów kreskowych do projektu Blazor. Z zeskanowanego obrazu wykonujemy wstepne przetwarzanie obrazow i przekazujemy go do metody FromStream. Przekaz obiekt Image do metody w klasie BarcodeReader, aby zeskanowac kod kreskowy w Blazor. Wynikowa wartość kodu kreskowego jest następnie dostępna za pośrednictwem właściwości Value obiektu BarCodeResult.

[HttpPost]
[Route("ReadBarCode")]
public string ReadBarCode(CamImage imageData)
{
    try
    {
        // Decode the base64 image data
        var splitObject = imageData.imageDataBase64.Split(',');
        byte[] imagebyteData = Convert.FromBase64String((splitObject.Length > 1) ? splitObject[1] : splitObject[0]);

        // Set IronBarcode license key (replace 'Key' with actual key)
        IronBarCode.License.LicenseKey = "Key";

        using (var ms = new MemoryStream(imagebyteData))
        {
            // Convert byte array to Image
            Image barcodeImage = Image.FromStream(ms);
            // Read barcode from Image
            var result = BarcodeReader.Read(barcodeImage);
            if (result == null || result.Value == null)
            {
                return $"{DateTime.Now}: Barcode is Not Detected";
            }

            return $"{DateTime.Now}: Barcode is ({result.Value})";
        }
    }
    catch (Exception ex)
    {
        return $"Exception: {ex.Message}";
    }
}

// Model to encapsulate the base64 image data
public class CamImage
{
    public string imageDataBase64 { get; set; }
}

Przykładowy projekt można znaleźć [tutaj](/static-assets/barcode/faq/blazor/Blazor IronBarcodeWithCAM.zip).

Często Zadawane Pytania

Jak zintegrować bibliotekę kodów kreskowych z projektem Blazor?

Aby zintegrować bibliotekę kodów kreskowych z projektem Blazor, zainstaluj odpowiedni pakiet NuGet, skonfiguruj projekt serwera Blazor, włącz obsługę kamery internetowej za pomocą JavaScript, przechwytuj obrazy i dekoduj je przy użyciu metod odczytu kodów kreskowych biblioteki.

Jak włączyć obsługę kamery internetowej w aplikacji Blazor?

Włącz obsługę kamery internetowej, dodając plik JavaScript do swojego projektu Blazor. Plik powinien zawierać funkcje umożliwiające dostęp do obrazu z kamery internetowej i jego strumieniowanie, które można wywołać z Blazor za pomocą interopu JS.

Jaki kod JavaScript jest potrzebny, aby uzyskać dostęp do kamery internetowej?

Kod JavaScript powinien zawierać funkcję typu initializeCamera(), która wykorzystuje navigator.mediaDevices.getUserMedia do uzyskania dostępu do kamery i przesyłania strumienia wideo do elementu wideo HTML.

Jak przechwycić i przetworzyć klatkę z kamery internetowej w Blazorze?

Napisz funkcję JavaScript, która przechwytuje bieżącą klatkę wideo, konwertuje ją na obraz zakodowany w base64 i wysyła do metody C# przy użyciu interoperacyjności JS w Blazorze. Metoda C# może następnie przetworzyć obraz w celu odczytania kodu BARCODE.

Jak odczytać kody kreskowe w projekcie Blazor?

BARCODE można odczytać poprzez dekodowanie ciągu obrazu base64 w metodzie API po stronie serwera przy użyciu klasy czytnika biblioteki BARCODE, która wyodrębnia wartość kodu BARCODE z obrazu.

Jakie są wymagania wstępne dotyczące korzystania z biblioteki kodów kreskowych w Blazorze?

Upewnij się, że masz skonfigurowany projekt serwera Blazor, zainstalowany niezbędny pakiet NuGet oraz skonfigurowany JavaScript do obsługi danych z kamery internetowej. Potrzebny jest również ważny klucz licencyjny do biblioteki BarCode.

Jak wysłać przechwycone obrazy na serwer w Blazorze?

Wyślij przechwycone obrazy na serwer, wywołując metodę C# z danymi obrazu przy użyciu DotNetObjectReference w JavaScript, która wywołuje metodę z ciągiem obrazu w formacie base64.

Czy ta biblioteka BarCode obsługuje kody QR?

Tak, biblioteka kodów kreskowych umożliwia tworzenie, odczytywanie i zarządzanie zarówno kodami kreskowymi, jak i kodami QR w aplikacjach .NET, w tym w tych zbudowanych przy użyciu Blazor.

Gdzie mogę znaleźć przykładowy projekt Blazor wykorzystujący bibliotekę BARCODE?

Przykładowy projekt Blazor wykorzystujący bibliotekę BarCode można pobrać, klikając link podany w sekcji podsumowania artykułu.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 2,422,100Wersja:2026.9właśnie wydany

Odbierz swój BEZPŁATNY

30-dniowy klucz próbny natychmiast.

bullet_checkedNie wymaga karty kredytowej ani tworzenia konta
test_punktorówTestuj w produkcji
bez znaków wodnych
kalendarz_punktorów30 dni w pełni
funkcjonalny produkt
wsparcie_punktorów24/5 wsparcie techniczne
w trakcie okresu próbnego
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package BarCode
nuget.org/packages/BarCode/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz Przeglądaj i wyszukaj "IronBarCode"
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

  1. Pobierz i rozpakuj IronBarCode do lokalizacji, takiej jak ~/Libs w katalogu Twojego rozwiązania
  2. W Eksploratorze Rozwiązań Visual Studio kliknij prawym przyciskiem Referencje. Wybierz Przeglądaj, "IronBarCode.dll"

Licencje od $999

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta