푸터 콘텐츠로 바로가기
IRONBARCODE 사용

.NET MAUI 바코드 스캐너 SDK 앱을 만드는 방법

.NET MAUI는 Android, iOS 및 Windows를 대상으로 하는 단일 코드베이스의 가능성을 실현합니다. 문제는 바코드 스캔과 같은 네이티브 하드웨어 기능을 통합해야 할 때입니다. 카메라 API를 수동으로 연결하는 것은 플랫폼 특정 구성, 조건부 컴파일 지시문, 그리고 디버깅에 많은 시간을 의미합니다. 좀 더 빠른 경로가 있습니다.

이 튜토리얼은 IronBarcode를 사용하여 .NET MAUI에서 작동하는 크로스 플랫폼 바코드 스캐너를 구축하는 방법을 보여줍니다. 프로젝트를 설정하고 플랫폼 권한을 구성하며, 이미지 파일에서 바코드를 스캔하고, PDF 문서에서 바코드를 읽으며, 다양한 스캔 옵션으로 심볼로지를 처리하는 방법을 안내합니다 -- 모든 코드는 지원되는 대상에서 실행할 수 있습니다.

무료 체험판을 시작하세요 그리고 아래의 단계를 따르세요.

!{--010011000100100101000010010100100100000101010010010110010101111101001110010101010001110100010101010100010111110100100101001110010100110101010001000001010011000100110001001100010111110100001001001100010011110100001101001011--}

바코드 스캐너 SDK를 .NET MAUI에 설정하는 방법은 무엇인가요?

.NET MAUI 바코드 스캐너 SDK를 설정하려면 새 프로젝트를 만들고, NuGet 패키지를 설치하고, 플랫폼 권한을 구성해야 합니다. 전체 구성 과정은 Visual Studio에서 몇 분 걸리지 않습니다.

.NET MAUI 프로젝트 생성

Visual Studio를 열고 새 .NET MAUI 앱 프로젝트를 만드세요. 프로젝트 이름을 'BarcodeScanner'처럼 설명적으로 지정하고 대상 프레임워크로 .NET 8 이상을 선택하세요. Visual Studio는 Android 및 iOS에 대한 플랫폼별 폴더가 포함된 기본 프로젝트 구조를 생성합니다.

.NET 10을 대상으로 하는 경우 동일한 프로젝트 템플릿이 적용됩니다. 필요에 따라 net10.0-android, net10.0-iosnet10.0-windows10.0.19041.0을 포함하도록 <TargetFrameworks> 속성을 .csproj 파일에서 업데이트하세요. .NET MAUI 지원 플랫폼 문서를 참조하여 대상 프레임워크 모니커와 최소 OS 버전 요구사항의 전체 목록을 확인하세요.

IronBarcode 설치하기

패키지 관리자 콘솔을 사용하여 IronBarcode NuGet 패키지를 설치하세요.

Install-Package BarCode

이 명령은 바코드 스캐너 SDK와 .NET MAUI 응용 프로그램에 필요한 모든 종속성을 다운로드 및 설치합니다.

플랫폼 권한 구성

라이브 카메라 피드가 아닌 이미지 파일에서 스캔할 때에도, .NET MAUI 바코드 스캐너 앱에 다음 권한을 구성하는 것이 좋습니다.

Android의 경우, 다음을 Platforms/Android/AndroidManifest.xml에 추가하세요:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
XML

iOS의 경우, 다음 항목을 Platforms/iOS/Info.plist에 추가하세요:

<key>NSPhotoLibraryUsageDescription</key>
<string>Access needed to select barcode images for scanning.</string>
<key>NSCameraUsageDescription</key>
<string>Camera permission for barcode scanning.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Access needed to select barcode images for scanning.</string>
<key>NSCameraUsageDescription</key>
<string>Camera permission for barcode scanning.</string>
XML

SDK 초기화

IronBarcode가 스캔 호출이 이루어지기 전에 완전히 활성화될 수 있도록 응용 프로그램 수명 주기의 초기에 라이선스 키를 설정하세요. MauiProgram.cs에 활성화를 배치하세요:

using IronBarCode;

var builder = MauiApp.CreateBuilder();
builder
    .UseMauiApp<App>()
    .ConfigureFonts(fonts =>
    {
        fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
    });

// Activate IronBarcode before the app starts
License.LicenseKey = "YOUR_LICENSE_KEY_HERE";

return builder.Build();
using IronBarCode;

var builder = MauiApp.CreateBuilder();
builder
    .UseMauiApp<App>()
    .ConfigureFonts(fonts =>
    {
        fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
    });

// Activate IronBarcode before the app starts
License.LicenseKey = "YOUR_LICENSE_KEY_HERE";

return builder.Build();
$vbLabelText   $csharpLabel

IronBarcode는 개발 및 테스트를 위한 무료 체험판 라이선스를 제공합니다. 시작 시 키를 한 번 설정하면 같은 프로세스 내의 모든 후속 BarcodeReaderBarcodeWriter 호출이 활성화된 라이선스를 사용합니다.

이미지 파일에서 바코드를 어떻게 읽나요?

어떤 MAUI 바코드 스캐너도 핵심 기능은 선택된 이미지에서 바코드를 읽는 것입니다. BarcodeReader.Read() 메소드는 파일 경로를 받아서 감지된 바코드 당 BarcodeResult 객체의 컬렉션을 반환합니다.

사용자 인터페이스 디자인

사용자가 이미지 파일을 선택하고 스캔된 바코드 데이터를 볼 수 있도록 하는 깨끗한 인터페이스를 MainPage.xaml에서 만드세요:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="BarcodeScanner.MainPage">
    <VerticalStackLayout Padding="20" Spacing="15">
        <Label Text=".NET MAUI Barcode Scanner" FontSize="24" HorizontalOptions="Center"/>
        <Button Text="Select Image to Scan" Clicked="OnSelectImageClicked"/>
        <Image x:Name="SelectedImageView" HeightRequest="200"/>
        <Label x:Name="ResultLabel" FontSize="16"/>
    </VerticalStackLayout>
</ContentPage>
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="BarcodeScanner.MainPage">
    <VerticalStackLayout Padding="20" Spacing="15">
        <Label Text=".NET MAUI Barcode Scanner" FontSize="24" HorizontalOptions="Center"/>
        <Button Text="Select Image to Scan" Clicked="OnSelectImageClicked"/>
        <Image x:Name="SelectedImageView" HeightRequest="200"/>
        <Label x:Name="ResultLabel" FontSize="16"/>
    </VerticalStackLayout>
</ContentPage>
XML

바코드 스캐닝 구현

스캔 로직을 MainPage.xaml.cs에 추가하세요. 이 코드는 MAUI FilePicker API를 통해 이미지 선택을 처리하고 선택된 파일 경로를 IronBarcode에 전달합니다:

using IronBarCode;

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private async void OnSelectImageClicked(object sender, EventArgs e)
    {
        var result = await FilePicker.PickAsync(new PickOptions
        {
            FileTypes = FilePickerFileType.Images,
            PickerTitle = "Select a barcode image"
        });

        if (result != null)
        {
            // Display the selected image
            SelectedImageView.Source = ImageSource.FromFile(result.FullPath);

            // Read barcodes from the image file
            var barcodes = BarcodeReader.Read(result.FullPath);

            ResultLabel.Text = barcodes.Any()
                ? $"Found: {barcodes.First().Value}"
                : "No barcodes detected in selected image.";
        }
    }
}
using IronBarCode;

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private async void OnSelectImageClicked(object sender, EventArgs e)
    {
        var result = await FilePicker.PickAsync(new PickOptions
        {
            FileTypes = FilePickerFileType.Images,
            PickerTitle = "Select a barcode image"
        });

        if (result != null)
        {
            // Display the selected image
            SelectedImageView.Source = ImageSource.FromFile(result.FullPath);

            // Read barcodes from the image file
            var barcodes = BarcodeReader.Read(result.FullPath);

            ResultLabel.Text = barcodes.Any()
                ? $"Found: {barcodes.First().Value}"
                : "No barcodes detected in selected image.";
        }
    }
}
$vbLabelText   $csharpLabel

산출

.NET MAUI 바코드 스캐너 SDK: 몇 분 안에 크로스 플랫폼 스캐너 구축: 이미지 1 - 스캔된 바코드 출력

BarcodeReader.Read() 메소드는 선택된 이미지를 분석하여 감지된 모든 바코드를 반환합니다. IronBarcode는 QR 코드, 코드 128, 코드 39, EAN-13 및 여러 가지 지원 형식을 포함하여 여러 바코드 심볼로지를 자동으로 인식합니다. 결과 컬렉션은 BarcodeType, Value, PageNumber와 같은 속성 및 감지된 코드당 경계 상자 좌표를 노출합니다.

PDF 문서에서 바코드를 어떻게 스캔하나요?

IronBarcode가 많은 대안과 구별되는 기능 중 하나는 PDF 파일에서 직접 바코드를 읽는 것입니다. .NET MAUI 앱이 문서 워크플로를 처리하는 데 필수적입니다. -- 배송 전표, 구매 주문서, 의료 기록 및 PDF에 내장된 바코드를 사용하는 유사한 사용 사례를 지원합니다.

BarcodeReader.ReadPdf() 메소드는 파일 경로를 받아서 이미지 리더와 동일한 BarcodeResult 컬렉션을 반환하며, 각 바코드가 나온 PDF 페이지를 식별하는 추가 PageNumber 속성을 가지고 있습니다:

using IronBarCode;

private async void OnSelectPdfClicked(object sender, EventArgs e)
{
    var result = await FilePicker.PickAsync(new PickOptions
    {
        PickerTitle = "Select a PDF with barcodes"
    });

    if (result != null)
    {
        // Read barcodes from every page of the PDF
        var barcodes = BarcodeReader.ReadPdf(result.FullPath);

        var output = string.Join("\n", barcodes.Select(b =>
            $"Page {b.PageNumber}: [{b.BarcodeType}] {b.Value}"));

        await DisplayAlert("Scan Results", output.Length > 0 ? output : "No barcodes found.", "OK");
    }
}
using IronBarCode;

private async void OnSelectPdfClicked(object sender, EventArgs e)
{
    var result = await FilePicker.PickAsync(new PickOptions
    {
        PickerTitle = "Select a PDF with barcodes"
    });

    if (result != null)
    {
        // Read barcodes from every page of the PDF
        var barcodes = BarcodeReader.ReadPdf(result.FullPath);

        var output = string.Join("\n", barcodes.Select(b =>
            $"Page {b.PageNumber}: [{b.BarcodeType}] {b.Value}"));

        await DisplayAlert("Scan Results", output.Length > 0 ? output : "No barcodes found.", "OK");
    }
}
$vbLabelText   $csharpLabel

산출

.NET MAUI 바코드 스캐너 SDK: 몇 분 안에 크로스 플랫폼 스캐너 구축: 이미지 2 - QR 코드가 포함된 PDF 스캔 출력

ReadPdf() 메소드는 PDF의 모든 페이지를 스캔하여 바코드 데이터와 페이지 번호를 반환하여 다중 바코드를 포함하는 문서를 쉽게 처리할 수 있습니다. PDF가 수십 페이지에 달하는 경우, 특정 범위로 PageNumbers을 설정한 BarcodeReaderOptions 객체를 전달하여 관련 페이지에 대한 스캔을 제한하고 처리 시간을 줄이는 것을 고려하십시오.

여러 바코드 및 QR 코드를 어떻게 처리하나요?

생산 응용 프로그램은 종종 단일 이미지에서 여러 바코드를 감지하거나 바코드 유형에 따라 결과를 필터링해야 합니다. BarcodeReaderOptions 클래스는 감지 동작을 제어하는 구성 속성을 노출합니다. ExpectMultipleBarcodestrue으로 설정하면 첫 번째 일치 후 멈추지 않고 스캔을 계속하도록 리더에게 지시합니다:

using IronBarCode;

// Configure the reader for multi-barcode detection with type filtering
var options = new BarcodeReaderOptions
{
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
    Speed = ReadingSpeed.Balanced
};

var barcodes = BarcodeReader.Read(imagePath, options);

foreach (var barcode in barcodes)
{
    Console.WriteLine($"Type: {barcode.BarcodeType}, Value: {barcode.Value}");
}
using IronBarCode;

// Configure the reader for multi-barcode detection with type filtering
var options = new BarcodeReaderOptions
{
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
    Speed = ReadingSpeed.Balanced
};

var barcodes = BarcodeReader.Read(imagePath, options);

foreach (var barcode in barcodes)
{
    Console.WriteLine($"Type: {barcode.BarcodeType}, Value: {barcode.Value}");
}
$vbLabelText   $csharpLabel

Speed 속성은 스캔 시간과 정확성 사이의 균형을 제어합니다. ReadingSpeed.Faster는 처리량을 우선시하여 대량의 고품질 이미지를 스캔하는 앱에 적합합니다. ReadingSpeed.ExtraSlow는 저명한 입력, 저대비, 기울어진 각도 또는 부분적으로 가려진 코드를 위해 좀 더 공격적인 이미지 수정 단계를 적용합니다. ReadingSpeed.Balanced는 대다수 응용 프로그램에 적합한 출발점입니다.

BarcodeEncoding 열거형은 비트 연산 조합을 지원하여 불필요한 검사를 통해 성능을 저하시키지 않고 사용 사례와 관련된 심볼로지를 정확히 제한할 수 있습니다.

메모리 스트림에서 바코드를 어떻게 읽나요?

파일 경로는 대부분의 시나리오에서 잘 동작하지만, 일부 .NET MAUI 워크플로는 메모리를 통해 이미지 데이터를 전달합니다 -- 카메라 미리보기에서 캡처된 프레임, REST API에서 다운로드한 바이트, 또는 프로세스 내에서 생성된 이미지 데이터. IronBarcode는 System.IO.Stream 입력을 BarcodeReader.Read() 오버로드에서 직접 지원합니다:

using IronBarCode;
using System.IO;

// Read a barcode from a MemoryStream (e.g., an in-memory image buffer)
private BarcodeResult[] ReadFromStream(Stream imageStream)
{
    return BarcodeReader.Read(imageStream);
}

// Example: download an image and scan without writing to disk
private async Task<string> ScanDownloadedBarcode(string imageUrl)
{
    using var httpClient = new HttpClient();
    using var stream = await httpClient.GetStreamAsync(imageUrl);
    using var memoryStream = new MemoryStream();

    await stream.CopyToAsync(memoryStream);
    memoryStream.Position = 0;

    var barcodes = BarcodeReader.Read(memoryStream);
    return barcodes.Any() ? barcodes.First().Value : string.Empty;
}
using IronBarCode;
using System.IO;

// Read a barcode from a MemoryStream (e.g., an in-memory image buffer)
private BarcodeResult[] ReadFromStream(Stream imageStream)
{
    return BarcodeReader.Read(imageStream);
}

// Example: download an image and scan without writing to disk
private async Task<string> ScanDownloadedBarcode(string imageUrl)
{
    using var httpClient = new HttpClient();
    using var stream = await httpClient.GetStreamAsync(imageUrl);
    using var memoryStream = new MemoryStream();

    await stream.CopyToAsync(memoryStream);
    memoryStream.Position = 0;

    var barcodes = BarcodeReader.Read(memoryStream);
    return barcodes.Any() ? barcodes.First().Value : string.Empty;
}
$vbLabelText   $csharpLabel

스트림 오버로드는 Stream 하위 클래스를 포함하여 MemoryStream, FileStream 및 네트워크 스트림을 수용합니다. 라이브러리는 형식 감지를 내부적으로 처리하여 Read() 호출 전에 이미지 유형을 지정할 필요가 없습니다.

MAUI 앱에서 바코드를 어떻게 생성하나요?

IronBarcode는 바코드 읽기뿐만 아니라 생성도 처리합니다. BarcodeWriter 클래스는 이미지 파일, Bitmap 객체 또는 MAUI 뷰에 인라인으로 표시할 수 있는 Stream 인스턴스로 바코드를 생성합니다. 이 기능은 인벤토리 앱이 스캔 기능과 함께 바코드를 인쇄하거나 공유해야 할 때 유용합니다:

using IronBarCode;

// Generate a QR code and display it in a MAUI Image control
private async void OnGenerateQrClicked(object sender, EventArgs e)
{
    // Create a QR code barcode
    var qrCode = QRCodeWriter.CreateQrCode(
        value: "https://ironsoftware.com/csharp/barcode/",
        qrCodeSize: 500,
        errorCorrection: QRCodeWriter.QrErrorCorrectionLevel.Medium
    );

    // Save to a temporary file and display
    var tempPath = Path.Combine(FileSystem.CacheDirectory, "generated-qr.png");
    qrCode.SaveAsPng(tempPath);

    GeneratedImageView.Source = ImageSource.FromFile(tempPath);
}
using IronBarCode;

// Generate a QR code and display it in a MAUI Image control
private async void OnGenerateQrClicked(object sender, EventArgs e)
{
    // Create a QR code barcode
    var qrCode = QRCodeWriter.CreateQrCode(
        value: "https://ironsoftware.com/csharp/barcode/",
        qrCodeSize: 500,
        errorCorrection: QRCodeWriter.QrErrorCorrectionLevel.Medium
    );

    // Save to a temporary file and display
    var tempPath = Path.Combine(FileSystem.CacheDirectory, "generated-qr.png");
    qrCode.SaveAsPng(tempPath);

    GeneratedImageView.Source = ImageSource.FromFile(tempPath);
}
$vbLabelText   $csharpLabel

QRCodeWriter 클래스는 네 가지 QR 오류 수정 수준(낮음, 중간, 사분, 높음), 사용자 지정 크기 및 전경/배경 색상 제어를 포함한 스타일 옵션을 지원합니다. QR이 아닌 심볼로지의 경우, 적절한 BarcodeEncoding 값과 함께 BarcodeWriter.CreateBarcode()을 사용하세요. 바코드 생성 API 참조는 모든 지원 출력 형식을 문서화합니다.

이 바코드 스캐너 라이브러리의 주요 기능은 무엇입니까?

IronBarcode는 .NET MAUI 바코드 스캐닝 프로젝트에서 ZXing.Net.MAUI 같은 오픈 소스 대안과 차별화되는 여러 장점을 제공합니다:

IronBarcode의 .NET MAUI 개발 기능
기능세부사항
크로스 플랫폼 지원하나의 NuGet 패키지를 통해 Android, iOS 및 Windows를 대상으로 함
다중 입력 소스파일 경로, 메모리 스트림 및 PDF 문서에서 스캔
형식 커버리지QR, 데이터 매트릭스 및 PDF417을 포함하여 30개 이상의 1D 및 2D 기호 해독
바코드 생성PNG, 비트맵 또는 스트림 출력으로 QR 코드 및 1D 바코드 생성
이미지 보정회전된, 비스듬한 및 저대비 입력을 자동으로 처리
네이티브 SDK 의존성 없음특정 플랫폼의 네이티브 바인딩이 필요하지 않은 순수 .NET 라이브러리

네이티브 SDK 의존성이 없는 점은 .NET MAUI 프로젝트에서 중요한데, 특정 플랫폼의 네이티브 라이브러리는 각 대상에 대한 별도의 링크 단계가 필요하기 때문입니다. IronBarcode는 이 복잡성을 완전히 피하여 동일한 NuGet 참조가 세 가지 지원되는 플랫폼 모두에서 추가 구성 없이 작동 가능한 바이너리를 생성합니다.

지원되는 바코드 형식의 전체 목록은 IronBarcode 지원 형식 문서를 참조하십시오. 프로덕션 배포에 대한 가격 및 라이선스 약관은 IronBarcode 라이선스 페이지를 검토하십시오.

프로덕션에서 바코드 스캔의 모범 사례는 무엇입니까?

바코드 스캐너를 프로덕션에 배치하려면 기본 읽기 호출 외에도 몇 가지 분야에 주의를 기울여야 합니다. 다음 지침은 .NET MAUI 바코드 앱의 가장 일반적인 실패 지점을 다룹니다.

올바른 읽기 속도를 선택하세요. ReadingSpeed.Balanced은 대부분의 실제 세계 이미지를 정확하게 처리합니다. 인쇄된 문서 또는 사용자가 다시 캡처할 수 없는 이미지를 스캔하는 데 ReadingSpeed.ExtraSlow을 예약하세요. 각 스캔 시간이 상당히 긴 ReadingSpeed.ExtraSlow을 대량 워크플로우에 사용하지 마세요.

예상 유형으로 필터링하세요. 앱이 QR 코드를 처리하는 경우, ExpectBarcodeTypes = BarcodeEncoding.QRCode을 설정하세요. 검색 범위를 제한하면 처리 시간이 줄어들고 배경 그래픽에 있는 다른 기호에서 잘못된 긍정을 제거합니다.

필요할 때만 ExpectMultipleBarcodes를 사용하세요. 이를 true으로 설정하면 리더가 추가 단계를 항상 수행합니다. 단일 바코드 입력의 경우, 첫 번째 유효한 코드가 발견되면 스캔이 반환되도록 기본값(false)을 유지하세요.

빈 결과를 우아하게 처리하세요. BarcodeReader.Read()은 바코드가 감지되지 않을 때 예외를 던지지 않고 빈 배열을 반환합니다. .Any()First()에 접근하기 전에 확인하고 사용자에게 명확한 메시지를 제시하세요. 재시도 프롬프트에 안내("바코드를 잘 조명하고 중심에 위치시키십시오")를 추가하면 일반적인 오류 메시지보다 사용자 경험이 향상됩니다.

옵션 객체를 캐시하세요. 매 스캔 시 BarcodeReaderOptions 인스턴스를 생성하면 할당이 추가됩니다. 클래스 수준에서 옵션을 한 번만 생성하고 호출 간에 재사용하세요.

스캔 실패 진단 및 성능 최적화에 대한 추가 지침은 IronBarcode 문제 해결 가이드바코드 리더 튜토리얼을 참조하십시오.

다음 단계는 무엇입니까?

IronBarcode로 .NET MAUI 바코드 스캐너를 구축하려면 단일 NuGet 패키지를 설치하고 플랫폼 권한을 구성한 다음 BarcodeReader.Read() 호출 시 파일 경로나 스트림을 사용하세요. 동일한 API는 Android, iOS 및 Windows를 플랫폼별 코드 분기 없이 목표로 합니다.

응용 프로그램을 확장하려면 다음 리소스를 고려하십시오:

무료 체험판을 시작하세요 개발 라이선스 키를 받거나 프로덕션 배포를 위한 라이선스 옵션을 탐색하십시오.

자주 묻는 질문

.NET MAUI 란 무엇이며, 바코드 스캐닝 기능을 통합하기 어려운 이유는 무엇입니까?

.NET MAUI 는 단일 코드베이스로 Android, iOS 및 Windows를 대상으로 하는 크로스 플랫폼 UI 프레임워크입니다. 바코드 스캔은 각 플랫폼마다 카메라 및 스토리지 API가 다르기 때문에 어려운 작업입니다. IronBarcode 플랫폼 간의 차이점을 처리하는 통합 .NET API를 제공합니다.

IronBarcode .NET MAUI 앱에서 어떤 바코드 형식을 지원합니까?

IronBarcode QR 코드, Code 128, Code 39, EAN-13, EAN-8, UPC-A, UPC-E, Data Matrix, PDF417, Aztec, ITF를 포함하여 30개 이상의 바코드 심볼을 지원합니다. 특정 형식을 기준으로 필터링하려면 BarcodeEncoding 열거형을 사용하십시오.

IronBarcode .NET MAUI 앱에서 PDF 파일의 바코드를 읽을 수 있습니까?

예. BarcodeReader.ReadPdf() 메서드는 PDF 문서의 모든 페이지를 스캔하고 BarcodeResult 컬렉션을 반환합니다. 각 결과에는 바코드 값, 유형 및 페이지 번호가 포함됩니다.

IronBarcode 모든 .NET MAUI 대상 플랫폼에서 작동합니까?

IronBarcode 단일 NuGet 패키지를 사용하여 .NET MAUI 프로젝트에서 Android, iOS 및 Windows를 지원합니다. 플랫폼별 네이티브 SDK 바인딩은 필요하지 않습니다.

하나의 이미지에서 여러 개의 바코드를 스캔하는 방법은 무엇인가요?

BarcodeReaderOptions에서 ExpectMultipleBarcodes = true로 설정하고 해당 옵션 객체를 BarcodeReader.Read()에 전달하세요. 그러면 리더기가 이미지의 모든 바코드를 감지하기 위해 추가 스캔을 수행합니다.

ReadingSpeed.Faster와 ReadingSpeed.ExtraSlow의 차이점은 무엇인가요?

ReadingSpeed.Faster는 처리량을 우선시하며 고품질 이미지에 적합합니다. ReadingSpeed.ExtraSlow는 보다 적극적인 이미지 보정을 적용하며 저대비, 회전 또는 부분적으로 가려진 바코드와 같은 까다로운 입력에 적합합니다.

IronBarcode MemoryStream에서 바코드를 읽을 수 있습니까?

예. BarcodeReader.Read() 메서드는 System.IO.Stream 매개변수를 받는데, 여기에는 MemoryStream, FileStream 및 네트워크 스트림이 포함됩니다. 따라서 디스크에 쓰지 않고 메모리에 있는 이미지 데이터를 스캔할 수 있습니다.

IronBarcode 사용하여 .NET MAUI 앱에서 QR 코드를 생성하는 방법은 무엇인가요?

QRCodeWriter.CreateQrCode() 메서드를 사용하여 대상 값, 크기 및 오류 수정 수준을 지정하십시오. SaveAsPng() 메서드를 사용하여 결과를 PNG 파일로 저장하고 ImageSource.FromFile() 메서드를 사용하여 MAUI 이미지 컨트롤에 표시하십시오.

.NET MAUI 기반 안드로이드 앱에서 바코드 스캔을 하려면 어떤 권한이 필요합니까?

AndroidManifest.xml 파일에 android.permission.READ_EXTERNAL_STORAGE 및 android.permission.CAMERA 권한을 추가하세요. iOS의 경우 Info.plist 파일에 NSPhotoLibraryUbraryDescription 및 NSCameraUsageDescription 키를 추가하세요.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me