IRONBARCODE 사용 MAUI 바코드 스캐너와 IronBarcode 사용법: 단계별 가이드 커티스 차우 업데이트됨:3월 1, 2026 다운로드 IronBarcode NuGet 다운로드 DLL 다운로드 무료 체험 시작하기 LLM용 사본 LLM용 사본 LLM용 마크다운 형식으로 페이지를 복사하세요 ChatGPT에서 열기 ChatGPT에 이 페이지에 대해 문의하세요 제미니에서 열기 제미니에게 이 페이지에 대해 문의하세요 Grok에서 열기 Grok에게 이 페이지에 대해 문의하세요 혼란 속에서 열기 Perplexity에게 이 페이지에 대해 문의하세요 공유하다 페이스북에 공유하기 트위터에 공유하기 LinkedIn에 공유하기 URL 복사 이메일로 기사 보내기 모바일 애플리케이션은 점점 더 재고 관리, 판매 시점 시스템, 제품 추적을 위해 바코드 스캔에 의존하고 있습니다. MAUI 바코드 스캐너를 구축하면 .NET MAUI 애플리케이션에 바코드 감지를 직접 통합할 수 있으며, 이는 카메라 피드와 이미지 파일 처리를 결합하여 QR 코드, 데이터 매트릭스 및 기타 바코드 형식을 감지합니다. 많은 라이브러리가 카메라 프리뷰에 중점을 두는 반면, IronBarcode는 왜곡된 각도, 열악한 조명, 손상된 라벨과 같은 어려운 조건에서도 정확히 바코드를 읽습니다. 추가 설정 없이 처리됩니다. 이 가이드는 IronBarcode를 사용하여 .NET MAUI 프로젝트에서 바코드 스캔을 구현하는 각 단계를 안내합니다. 마지막으로 단일 이미지 파일에서 여러 바코드를 스캔하고, 기기 카메라에서 바코드를 캡처하며, 자신의 크로스 플랫폼 프로젝트에 라이브러리를 자신 있게 통합할 수 있게 됩니다. MAUI 바코드 스캐너를 구축하기 위한 사전 요구 사항은 무엇입니까? 시작하기 전에 개발 환경을 정비하십시오: Visual Studio 2022 (v17.8 이상) 및 .NET MAUI 워크로드 설치 .NET 10 SDK -- 공식 .NET 사이트에서 다운로드 기본 C# 지식 -- async/await 패턴에 대한 친숙함이 도움이 됩니다 카메라 테스트를 위한 물리적 기기 또는 에뮬레이터 구성 IronBarcode 라이선스 -- 평가용 무료 체험판을 사용할 수 있습니다 프로젝트를 생성하기 전에 Visual Studio에 MAUI 워크로드가 설치되어 있는지 확인하면 나중에 문제 해결 시간을 크게 절약할 수 있습니다. Visual Studio 설치 관리자에서 "개별 구성 요소" 아래에서 ".NET Multi-platform App UI development"를 검색하여 이를 확인할 수 있습니다. IronBarcode가 MAUI와 어떻게 맞물리는지 이해하기 .NET MAUI는 Android, iOS, macOS 및 Windows를 대상으로 하는 단일 코드베이스를 제공합니다. 이 환경에서 바코드 스캐닝의 도전 과제는 각 플랫폼이 카메라 접근을 다르게 처리한다는 것입니다. IronBarcode는 이미지 처리 계층에서 작동하여 이 문제를 해결합니다. MAUI의 MediaPicker을 통해 이미지를 캡처한 다음 IronBarcode에 바이트를 전달하여 분석합니다. 이러한 역할의 분리는 코드의 정리를 돕고 플랫폼별 바코드 SDK를 피할 수 있습니다. 또한 IronBarcode의 오프라인 처리 모델은 바코드 데이터가 장치를 떠나지 않음을 의미하여 규제가 있는 산업의 애플리케이션에 중요합니다. 지원되는 바코드 형식 IronBarcode는 다양한 형식을 읽을 수 있으며, 다음을 포함합니다: IronBarcode가 지원하는 바코드 형식 형식 카테고리 형식 일반적인 사용 사례 1D 선형 Code 128, Code 39, EAN-13, UPC-A, ITF 소매, 물류, 의료 2D 매트릭스 QR 코드, 데이터 매트릭스, 아즈텍, PDF417 모바일 결제, 티켓 발권, 제조 우편 USPS, 로열 메일, 독일 우편 배송 및 우편 서비스 특수 MaxiCode, GS1, MicroPDF417 공급망, 운송, 소포 MAUI 바코드 스캔 프로젝트를 어떻게 설정합니까? Visual Studio 2022에서 새로운 .NET MAUI App 프로젝트를 생성하세요. 프로젝트 이름을 BarcodeScannerApp으로 설정하고, 대상 프레임워크로 .NET 10을 선택하세요. Visual Studio는 Android, iOS, macOS 및 Windows에 대한 플랫폼별 폴더가 있는 표준 MAUI 프로젝트 구조를 생성합니다. NuGet을 통한 IronBarcode 설치 NuGet 패키지 관리자 콘솔을 열고 다음을 실행합니다: Install-Package BarCode 대안으로, 솔루션 탐색기에서 프로젝트를 우클릭하고 "NuGet 패키지 관리"를 선택한 후 IronBarCode을 검색하고 최신 안정 버전을 설치하세요. 특히 .NET MAUI 프로젝트에 대해 IronBarcode의 NuGet 패키지에는 모든 필수적인 네이티브 종속성이 포함되어 있습니다. 라이선스 활성화 설치 후 애플리케이션 라이프사이클 초기에 라이선스 키로 IronBarcode를 활성화하십시오. 앱 빌더가 실행되기 전에 MauiProgram.cs이 가장 추천되는 위치입니다: IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY"; IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY"; $vbLabelText $csharpLabel IronSoftware 웹사이트에서 무료 체험판 라이선스 키를 받으세요. 체험판 키는 개발 도중 시간 제한 없이 모든 기능을 평가할 수 있도록 하며, 출력에는 전체 라이선스를 적용할 때까지 체험판 워터마크가 포함될 수 있습니다. Android 및 iOS의 카메라 권한을 어떻게 구성합니까? 플랫폼별 카메라 권한은 바코드 스캐닝 기능에 필수적입니다. 각 플랫폼은 성공적인 MediaPicker.CapturePhotoAsync()을 위해 매니페스트 파일에 특정 구성이 필요합니다. 안드로이드 권한 Platforms/Android/AndroidManifest.xml을 편집하여 카메라 접근을 선언하세요: <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" android:required="true" /> <uses-feature android:name="android.hardware.camera.autofocus" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" android:required="true" /> <uses-feature android:name="android.hardware.camera.autofocus" /> XML android.permission.CAMERA 항목은 사용자로부터 런타임 권한을 요청합니다. uses-feature 선언은 Google Play 스토어에 앱이 카메라 하드웨어 및 자동 초점 기능을 필요로 함을 알립니다. 이러한 사항이 없으면 안드로이드 기기는 권한 요청을 허가할 수 있지만 여전히 내부적으로 카메라 접근을 차단할 수 있습니다. 안드로이드 13 이상(API 레벨 33+)에서는 MainActivity.cs에서 ActivityCompat.RequestPermissions을 사용하여 세부 미디어 권한을 처리해야 할 수도 있습니다. MAUI MediaPicker 추상화는 대부분 이를 자동으로 처리하지만, 출시 전 실제 장치 테스트를 권장합니다. iOS 권한 Platforms/iOS/Info.plist을 수정하여 카메라 사용 설명을 포함하세요: <key>NSCameraUsageDescription</key> <string>This app requires camera access to scan barcodes</string> <key>NSCameraUsageDescription</key> <string>This app requires camera access to scan barcodes</string> XML iOS는 개인정보 보호에 민감한 모든 권한에 대해 사람이 읽을 수 있는 설명을 요구합니다. Apple의 App Store 검토 프로세스는 이 설명이 없거나 모호하면 앱을 거부할 것입니다. 이 텍스트는 사용자에게 처음으로 앱이 카메라 액세스를 요청할 때 표시되는 시스템 권한 대화 상자에 나타납니다. iPadOS의 경우, 사용자가 저장된 사진에서 바코드를 스캔할 수 있도록 하려면 NSPhotoLibraryUsageDescription을 추가하는 것도 고려하세요. Windows 및 macOS Windows Desktop 및 macOS 대상의 경우, 카메라 액세스 권한은 각각 응용 프로그램 매니페스트와 권한 파일을 통해 관리됩니다. MAUI 프레임워크는 템플릿 수준에서 대부분을 처리하지만, Windows에서 Package.appxmanifest에 웹캠 장치 기능이 포함되어 있는지 확인하세요. 바코드 스캐너 인터페이스는 어떻게 만드나요? 스캔 프로세스 중 사용자에게 명확한 피드백을 제공하는 사용자 인터페이스를 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="BarcodeScannerApp.MainPage" Title="Barcode Scanner"> <VerticalStackLayout Padding="20" Spacing="20"> <Label Text="Point the camera at a barcode" FontSize="16" HorizontalOptions="Center" TextColor="#555555" /> <Image x:Name="CapturedImage" HeightRequest="300" Aspect="AspectFit" BackgroundColor="#F0F0F0" /> <Label x:Name="ResultLabel" Text="Tap Scan to begin" FontSize="18" HorizontalOptions="Center" FontAttributes="Bold" /> <Label x:Name="FormatLabel" Text="" FontSize="13" HorizontalOptions="Center" TextColor="#888888" /> <Button Text="Scan Barcode" Clicked="OnScanClicked" BackgroundColor="#007ACC" TextColor="White" CornerRadius="8" HeightRequest="50" /> <Button Text="Load from Gallery" Clicked="OnPickFromGalleryClicked" BackgroundColor="#5C5C5C" TextColor="White" CornerRadius="8" HeightRequest="50" /> </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="BarcodeScannerApp.MainPage" Title="Barcode Scanner"> <VerticalStackLayout Padding="20" Spacing="20"> <Label Text="Point the camera at a barcode" FontSize="16" HorizontalOptions="Center" TextColor="#555555" /> <Image x:Name="CapturedImage" HeightRequest="300" Aspect="AspectFit" BackgroundColor="#F0F0F0" /> <Label x:Name="ResultLabel" Text="Tap Scan to begin" FontSize="18" HorizontalOptions="Center" FontAttributes="Bold" /> <Label x:Name="FormatLabel" Text="" FontSize="13" HorizontalOptions="Center" TextColor="#888888" /> <Button Text="Scan Barcode" Clicked="OnScanClicked" BackgroundColor="#007ACC" TextColor="White" CornerRadius="8" HeightRequest="50" /> <Button Text="Load from Gallery" Clicked="OnPickFromGalleryClicked" BackgroundColor="#5C5C5C" TextColor="White" CornerRadius="8" HeightRequest="50" /> </VerticalStackLayout> </ContentPage> XML 이 레이아웃은 두 개의 스캔 경로를 제공합니다: 카메라로 새로운 사진을 촬영하거나 갤러리에서 기존 이미지를 선택합니다. 이는 사용자가 미리 바코드를 사진 찍거나 이메일을 통해 이미지를 받을 경우에 유용합니다. FormatLabel은 디버깅 및 사용자 확인 중에 감지된 바코드 형식을 디코딩된 값과 함께 표시합니다. 스캔 상태 피드백 추가 세련된 경험을 위해, 처리 중일 때 나타나는 ActivityIndicator에 스캔 버튼을 래핑하는 것을 고려하세요. IronBarcode의 비동기 API는 이를 간단하게 만듭니다 -- IsRunning = true을 설정한 후 BarcodeReader.ReadAsync을 호출하고 finally 블록에서 재설정할 수 있습니다. 바코드 리더 기능은 어떻게 구현하나요? MainPage.xaml.cs에서 핵심 스캔 로직을 구현하세요. 아래 코드는 적절한 비동기 패턴과 오류 처리를 통해 카메라 캡처 및 갤러리 선택을 모두 처리합니다: using IronBarCode; using IronSoftware.Drawing; namespace BarcodeScannerApp; public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); } private async void OnScanClicked(object sender, EventArgs e) { await ScanFromSource(() => MediaPicker.Default.CapturePhotoAsync()); } private async void OnPickFromGalleryClicked(object sender, EventArgs e) { await ScanFromSource(() => MediaPicker.Default.PickPhotoAsync()); } private async Task ScanFromSource(Func<Task<FileResult?>> sourceFunc) { try { var photo = await sourceFunc(); if (photo is null) return; using var stream = await photo.OpenReadAsync(); using var memoryStream = new MemoryStream(); await stream.CopyToAsync(memoryStream); var imageBytes = memoryStream.ToArray(); // Show the captured image in the UI CapturedImage.Source = ImageSource.FromStream(() => new MemoryStream(imageBytes)); // Process with IronBarcode var bitmap = AnyBitmap.FromBytes(imageBytes); var options = new BarcodeReaderOptions { Speed = ReadingSpeed.Balanced, ExpectMultipleBarcodes = false }; var results = await BarcodeReader.ReadAsync(bitmap, options); if (results.Any()) { var first = results.First(); ResultLabel.Text = $"Value: {first.Value}"; FormatLabel.Text = $"Format: {first.BarcodeType}"; } else { ResultLabel.Text = "No barcode detected"; FormatLabel.Text = string.Empty; } } catch (FeatureNotSupportedException) { await DisplayAlert("Unsupported", "Camera is not available on this device.", "OK"); } catch (PermissionException) { await DisplayAlert("Permission Required", "Please grant camera permission in Settings.", "OK"); } catch (Exception ex) { await DisplayAlert("Error", $"Scanning failed: {ex.Message}", "OK"); } } } using IronBarCode; using IronSoftware.Drawing; namespace BarcodeScannerApp; public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); } private async void OnScanClicked(object sender, EventArgs e) { await ScanFromSource(() => MediaPicker.Default.CapturePhotoAsync()); } private async void OnPickFromGalleryClicked(object sender, EventArgs e) { await ScanFromSource(() => MediaPicker.Default.PickPhotoAsync()); } private async Task ScanFromSource(Func<Task<FileResult?>> sourceFunc) { try { var photo = await sourceFunc(); if (photo is null) return; using var stream = await photo.OpenReadAsync(); using var memoryStream = new MemoryStream(); await stream.CopyToAsync(memoryStream); var imageBytes = memoryStream.ToArray(); // Show the captured image in the UI CapturedImage.Source = ImageSource.FromStream(() => new MemoryStream(imageBytes)); // Process with IronBarcode var bitmap = AnyBitmap.FromBytes(imageBytes); var options = new BarcodeReaderOptions { Speed = ReadingSpeed.Balanced, ExpectMultipleBarcodes = false }; var results = await BarcodeReader.ReadAsync(bitmap, options); if (results.Any()) { var first = results.First(); ResultLabel.Text = $"Value: {first.Value}"; FormatLabel.Text = $"Format: {first.BarcodeType}"; } else { ResultLabel.Text = "No barcode detected"; FormatLabel.Text = string.Empty; } } catch (FeatureNotSupportedException) { await DisplayAlert("Unsupported", "Camera is not available on this device.", "OK"); } catch (PermissionException) { await DisplayAlert("Permission Required", "Please grant camera permission in Settings.", "OK"); } catch (Exception ex) { await DisplayAlert("Error", $"Scanning failed: {ex.Message}", "OK"); } } } $vbLabelText $csharpLabel 이 구현은 공유 ScanFromSource 헬퍼 메서드를 사용하여 카메라와 갤러리 경로 간의 이미지 처리 로직 중복을 피합니다. AnyBitmap.FromBytes 메서드는 JPEG, PNG, WebP 및 기타 일반적인 이미지 형식을 자동으로 처리하므로 수동 형식 감지가 필요 없습니다. 결과 객체는 first.Value (디코딩된 문자열), first.BarcodeType (형식 열거형) 및 first.BarcodeImage (감지된 바코드 영역의 잘린 이미지) 등의 속성을 노출합니다. BarcodeResult 클래스 문서에서 전체 목록을 참조하세요. 스캔 구현 테스트 코드를 준비한 후 표준 바코드를 대상으로 테스트할 수 있습니다: 스캔 후 디코딩된 값이 화면에 나타납니다: 고급 스캐닝 옵션은 어떻게 구성하나요? IronBarcode는 특정 사용 사례에 맞게 감지 동작을 세밀하게 조정할 수 있는 BarcodeReaderOptions 객체를 제공합니다. 이러한 옵션을 이해하면 애플리케이션 필요에 따라 속도와 정확성 간의 균형을 맞출 수 있습니다. 특정 바코드 유형 대상으로 삼기 예상되는 바코드 유형을 명확히 지정하면 IronBarcode가 필요하지 않은 형식 검사를 건너뛰기 때문에 처리 시간이 크게 줄어듭니다: var options = new BarcodeReaderOptions { Speed = ReadingSpeed.Balanced, ExpectMultipleBarcodes = true, ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128 }; var results = await BarcodeReader.ReadAsync(bitmap, options); var options = new BarcodeReaderOptions { Speed = ReadingSpeed.Balanced, ExpectMultipleBarcodes = true, ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128 }; var results = await BarcodeReader.ReadAsync(bitmap, options); $vbLabelText $csharpLabel ExpectMultipleBarcodes = true을 설정하면 IronBarcode가 첫 번째 결과를 찾은 후에도 계속 스캔하도록 지시하며, 이는 하나의 패킹 전표에 여러 바코드가 포함될 수 있는 창고 워크플로우에 필수적입니다. 읽기 속도 옵션 ReadingSpeed 열거형은 ExtremeDetail, Detailed, Balanced, QuickScan 네 가지 수준을 제공합니다. 바코드가 깨끗하고 조명이 잘 된 고용량 시나리오에서는 QuickScan을 사용하세요. 저해상도 카메라 캡처 또는 부분적으로 손상된 레이블을 스캔할 때는 Detailed 또는 ExtremeDetail로 전환하세요. BarcodeReaderOptions 조정에 대한 보다 자세한 사항은 이미지 보정 필터와 신뢰도 임계값을 포함하여 문서에 명확한 예제가 제공됩니다. 이미지 보정 및 전처리 IronBarcode는 회전된, 비틀어진 또는 조명이 좋지 않은 바코드를 자동으로 처리하는 내장 이미지 보정을 포함합니다. BarcodeReaderOptions.ImageFilters을 통해 수동으로 전처리 필터를 적용할 수 있습니다: var options = new BarcodeReaderOptions { Speed = ReadingSpeed.Detailed, ImageFilters = new ImageFilterCollection { new SharpenFilter(), new ContrastFilter(1.2f) } }; var options = new BarcodeReaderOptions { Speed = ReadingSpeed.Detailed, ImageFilters = new ImageFilterCollection { new SharpenFilter(), new ContrastFilter(1.2f) } }; $vbLabelText $csharpLabel 전처리 필터는 특히 낮은 품질의 카메라 센서를 가진 오래된 Android 디바이스를 대상으로 하거나, 사용자들이 창고나 실외 환경과 같은 최적이 아닌 조명 조건에서 바코드를 사진 찍는 경우에 유용합니다. 일반 문제 해결 시나리오는 어떻게 처리하나요? 잘 구성된 MAUI 바코드 스캐너일지라도 장치별 동작, 이미지 품질 문제 또는 플랫폼 제약으로 인해 문제가 발생할 수 있습니다. 카메라가 열리지 않음 카메라 실행에 실패할 경우, AndroidManifest.xml 및 Info.plist 모두에 권한이 올바르게 선언되었는지 확인하세요. 그런 다음, 핫 리로드가 아닌 클린 빌드에서 앱을 다시 배포하세요. Android에서는 테스트 디바이스가 비표준 카메라 구성을 사용하는지 여부도 확인하세요 -- 여러 개의 카메라가 있는 일부 장치는 명시적 렌즈 선택이 필요합니다. 시뮬레이터에서는 MediaPicker.CapturePhotoAsync()가 지원되지 않습니다. 항상 실제 장치에서 카메라 기능을 테스트하세요. 에뮬레이터는 사전 로드된 이미지를 사용한 기본 UI 테스트에 사용할 수 있는 갤러리 선택에 대해 PickPhotoAsync를 지원합니다. 낮은 스캔 정확도 IronBarcode가 결과를 반환하지 않거나 잘못된 값을 반환할 경우, 다음 조정을 시도하십시오: Speed을(를) ReadingSpeed.Detailed 또는 ExtremeDetail로 증가시킵니다 이미지 필터 파이프라인에 SharpenFilter 및 ContrastFilter을 추가합니다 캡처한 이미지 해상도가 최소 720p인지 확인하십시오. 낮은 해상도는 Data Matrix와 같은 밀집 형식의 감지를 놓치기 쉽습니다. 바코드 유형이 ExpectBarcodeTypes 마스크에 포함되어 있는지 확인하세요 IronBarcode 문제 해결 가이드는 형식 관련 문제에 대한 추가 진단 단계를 다룹니다. 메모리 관리 대형 카메라 이미지는 MemoryStream에 로드되면 상당한 메모리를 소모합니다. 모든 스트림 객체에 using문을 사용하여 처분을 보장하세요. 연속 스캔 워크플로우에서 사용자가 여러 항목을 순차적으로 스캔하는 경우, 가비지 컬렉터를 기다리는 대신 처리 후 bitmap.Dispose()을 명시적으로 호출하세요. 제한된 힙 공간이 있는 Android 장치에서는 IronBarcode에 이미지를 전달하기 전에 이미지를 다운샘플링하는 것을 고려하십시오, 스캔하려는 바코드가 깔끔하고 높은 대비를 가지며 정확한 디코딩에 전체 해상도가 필요하지 않은 경우입니다. 플랫폼 특정 iOS 동작 iOS에서는 앱이 처음 카메라 사용 권한을 요청할 때 시스템에서 일회성 대화상자를 표시합니다. 사용자가 이를 거부하면, 이후 CapturePhotoAsync 호출 시 PermissionException 예외가 발생합니다. 사용자를 설정 화면으로 안내하여 이 문제를 처리하세요. 이는 AppInfo.ShowSettingsUI()을 사용하여 할 수 있습니다. 앱 스토어 제출 전에 Info.plist에 NSCameraUsageDescription이 있는지 확인하세요. 개인정보 문자열이 누락되면 검토 팀에서 자세한 설명 없이 자동으로 거부됩니다. 카메라 접근에 대한 권장 사항은 Apple Human Interface Guidelines를 참조하십시오. 다음 단계는 무엇입니까? 이제 IronBarcode와 함께 작동하는 MAUI 바코드 스캐너가 있으므로, 애플리케이션 요구 사항에 따라 여러 경로가 있습니다: 바코드 생성 -- IronBarcode는 문자열 데이터를 사용하여 QR 코드, Code 128 레이블 및 기타 형식을 생성하기 위한 바코드 생성 API를 제공합니다 배치 스캔 -- ExpectMultipleBarcodes = true와 함께 BarcodeReader.ReadAsync을(를) 사용하여 여러 이미지 파일을 반복적으로 처리합니다; 배치 스캐닝 예제를 참조하세요 PDF 바코드 추출 -- IronBarcode는 동일한 BarcodeReader 클래스를 사용하여 PDF 문서에 내장된 바코드를 읽을 수 있습니다; PDF 바코드 읽기 문서를 탐색하십시오 스타일링 및 브랜딩 -- 생성된 바코드의 시각적 출력을 색상, 로고, 주석으로 사용자 정의합니다; 바코드 스타일링 옵션을 참조하세요 다른 IronSoftware 제품 -- MAUI 앱이 PDF 생성, OCR 또는 스프레드시트 지원이 필요하다면, 전체 Iron Suite를 탐색하여 일관된 크로스 플랫폼 기능을 이용하십시오 제한 없이 배포할 수 있는 무료 체험판 라이선스로 시작하여 평가 기간 동안 사용하십시오. 제품 라이선싱 옵션 및 대량 가격 정보를 보려면 IronBarcode 가격 페이지를 방문하십시오. IronBarcode 문서 포털과 IronBarcode GitHub 리포지토리는 추가 코드 예제와 커뮤니티 지원을 제공합니다. 자주 묻는 질문 MAUI 바코드 스캐너에 IronBarcode 사용하는 장점은 무엇입니까? IronBarcode 이미지 레이어에서 바코드를 처리하고, 오프라인에서 작동하며, 30가지 이상의 형식을 지원하고, 추가 설정 없이 기울어진 각도나 열악한 조명과 같은 까다로운 환경에서도 처리할 수 있습니다. IronBarcode 한 이미지에서 여러 개의 바코드를 감지할 수 있습니까? 예. BarcodeReaderOptions에서 ExpectMultipleBarcodes = true로 설정하고 BarcodeReader.ReadAsync를 호출하세요. IronBarcode 감지된 모든 바코드를 결과 컬렉션에 반환합니다. MAUI에서 안드로이드 및 iOS 카메라 권한을 어떻게 설정하나요? Android의 경우 AndroidManifest.xml 파일에 CAMERA uses-permission 및 uses-feature 요소를 추가하세요. iOS의 경우 Info.plist 파일에 사람이 읽기 쉬운 설명이 포함된 NSCameraUsageDescription을 추가하세요. IronBarcode 오프라인 바코드 스캔을 지원합니까? 네. IronBarcode 외부 서버로 데이터를 전송하지 않고 기기 내에서 이미지를 완전히 처리하므로 개인 정보 보호에 민감한 애플리케이션에 중요합니다. IronBarcode MAUI에서 어떤 바코드 형식을 지원하나요? IronBarcode QR 코드, Code 128, Code 39, EAN-13, UPC-A, Data Matrix, PDF417, Aztec, MaxiCode 등 다양한 바코드 형식을 지원합니다. BarcodeEncoding 플래그를 통해 특정 형식을 대상으로 지정할 수 있습니다. 화질이 낮은 이미지의 스캔 정확도를 높이려면 어떻게 해야 할까요? 읽기 속도를 상세 또는 극도로 상세하게 설정하고, 이미지 필터에 선명도 필터와 대비 필터를 추가하고, 캡처된 이미지의 해상도가 최소 720p인지 확인하십시오. IronBarcode MAUI 앱에서 PDF 파일의 바코드를 읽을 수 있습니까? 예. IronBarcode의 BarcodeReader 클래스는 이미지 파일에 사용되는 것과 동일한 ReadAsync API를 사용하여 PDF 문서에 포함된 바코드를 추출할 수 있습니다. 카메라 접근이 거부되었을 때 발생하는 PermissionException은 어떻게 처리해야 하나요? try/catch 블록에서 PermissionException을 처리하고 AppInfo.ShowSettingsUI()를 호출하여 사용자가 카메라 접근 권한을 다시 활성화할 수 있도록 기기 설정으로 이동시키세요. 커티스 차우 지금 바로 엔지니어링 팀과 채팅하세요 기술 문서 작성자 커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다. 커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다. 관련 기사 게시됨 3월 8, 2026 .NET 앱을 위한 전문가용 바코드 SDK 생성 QR 코드, GS1, 데이터 매트릭스 등을 위한 포괄적인 .NET 바코드 SDK입니다. .NET 6-10, 코어, 프레임워크에 대한 지원을 제공합니다. 더 읽어보기 게시됨 3월 8, 2026 바코드 SDK C# 구축: 한 가지 라이브러리로 바코드 생성, 읽기 및 스캔하기 IronBarcode를 사용하여 C#에서 바코드 SDK 기능을 구축하세요. 바코드 이미지를 생성하고 파일에서 여러 바코드를 스캔하고 하나의 .NET 라이브러리를 사용하여 QR 코드를 읽어보세요. 샘플 코드 포함. 더 읽어보기 업데이트됨 3월 1, 2026 VB .NET 바코드 글꼴: 글꼴 종속성 없이 바코드를 생성하고 인쇄하는 방법 VB .NET 에서 최신 방식으로 바코드 글꼴을 처리하세요. IronBarcode 사용하면 글꼴 종속성 없이 Code 39 및 Code 128 바코드 이미지를 생성할 수 있습니다. 무료 평가판을 이용해 보세요. 더 읽어보기 IronBarcode 사용한 바코드 .NET 컴포넌트 튜토리얼C#으로 바코드 스캐너 API ...
게시됨 3월 8, 2026 .NET 앱을 위한 전문가용 바코드 SDK 생성 QR 코드, GS1, 데이터 매트릭스 등을 위한 포괄적인 .NET 바코드 SDK입니다. .NET 6-10, 코어, 프레임워크에 대한 지원을 제공합니다. 더 읽어보기
게시됨 3월 8, 2026 바코드 SDK C# 구축: 한 가지 라이브러리로 바코드 생성, 읽기 및 스캔하기 IronBarcode를 사용하여 C#에서 바코드 SDK 기능을 구축하세요. 바코드 이미지를 생성하고 파일에서 여러 바코드를 스캔하고 하나의 .NET 라이브러리를 사용하여 QR 코드를 읽어보세요. 샘플 코드 포함. 더 읽어보기
업데이트됨 3월 1, 2026 VB .NET 바코드 글꼴: 글꼴 종속성 없이 바코드를 생성하고 인쇄하는 방법 VB .NET 에서 최신 방식으로 바코드 글꼴을 처리하세요. IronBarcode 사용하면 글꼴 종속성 없이 Code 39 및 Code 128 바코드 이미지를 생성할 수 있습니다. 무료 평가판을 이용해 보세요. 더 읽어보기