
C#으로 OCR 영수증 스캐너를 만드는 방법
이 튜토리얼은 C#의 OCR API인 IronOCR을 사용하여 OCR 영수증 스캐너를 만드는 데 도움을 주기 위해 디자인되었습니다. 이 가이드가 끝나면 영수증 파일을 편집 및 검색 가능한 데이터로 변환하는 영수증 OCR API를 구현하는 방법을 이해하게 될 것입니다. 이 기술은 비용 관리를 자동화하고 수동 데이터 입력을 최소화하려는 기업에 게임 체인저가 될 수 있습니다. 시작해봅시다!
How To Create an OCR Receipt Scanner In C#
- Visual Studio에서 C# 콘솔 프로젝트를 만듭니다.
- NuGet 패키지 관리자를 사용하여 OCR 라이브러리를 설치합니다.
OcrInput메서드를 사용하여 프로그램에 영수증을 로드합니다.Read메서드를 사용하여 텍스트를 추출합니다.- 추출된 텍스트를 콘솔에 표시합니다.
필수 조건
코딩 부분에 들어가기 전에 다음을 확인하세요:
- Visual Studio: 이는 우리가 C# 코드를 작성하고 실행할 통합 개발 환경(IDE)이 됩니다.
- IronOCR 라이브러리: IronOCR, C# 응용 프로그램에 쉽게 통합할 수 있는 고급 OCR 라이브러리를 사용할 것입니다.
- 샘플 영수증: Sample_Receipt.jpg라는 이름의 영수증 이미지 파일로, 우리의 OCR 구현을 테스트하기 위해 사용할 것입니다.

1단계: 프로젝트 설정
Visual Studio 열기: 바탕 화면이나 응용 프로그램 메뉴에서 Visual Studio 아이콘을 찾아 더블 클릭하여 프로그램을 엽니다.
새 프로젝트 만들기: Visual Studio가 열리면 시작 창이 표시됩니다. "새 프로젝트 만들기" 버튼을 클릭합니다. 이미 Visual Studio가 열려 있고 시작 창이 보이지 않는 경우, 상단 메뉴에서 파일 > 새로 만들기 > 프로젝트를 클릭하여 접근할 수 있습니다.
프로젝트 유형 선택: "새 프로젝트 만들기" 창에서 다양한 프로젝트 템플릿을 볼 수 있습니다. 검색 상자에 "콘솔 앱"을 입력하여 옵션을 필터링한 후, 선호도와 호환성에 따라 Console App (.NET Core) 또는 Console App (.NET Framework)을 선택하십시오. 그런 다음 다음 버튼을 클릭합니다.
새 프로젝트 구성하기: 이제 "새 프로젝트 구성"이라는 제목의 화면을 볼 수 있습니다.
- 프로젝트 이름 필드에
OCRReceiptScanner를 프로젝트 이름으로 입력합니다. - 프로젝트가 저장될 위치 필드에서 위치를 선택하거나 확인하십시오.
- 프로젝트 이름과 다르게 하고 싶다면 솔루션 이름도 지정할 수 있습니다.
- 이 정보를 입력한 후 다음 버튼을 클릭합니다.
추가 정보: 목표 .NET Framework를 선택하라는 요청을 받을 수 있습니다. 특별한 호환성 요구 사항이 없는 한 최신 버전을 선택하고 만들기를 클릭합니다.
2단계: IronOCR 통합하기
IronOCR 라이브러리를 사용하기 전에 프로젝트에 포함해야 합니다. 다음 단계를 따르세요:
- 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭합니다.
- "NuGet 패키지 관리"를 선택합니다.
- NuGet 패키지 관리자 창에서 찾아보기, 설치됨, 업데이트, 통합 같은 여러 탭이 표시됩니다. 찾아보기 탭을 클릭합니다.
- 검색 상자에 IronOCR을 입력합니다. 이는 프로젝트에 추가하려는 라이브러리의 이름입니다. 엔터 키를 눌러 검색합니다.
- 검색 결과에 IronOCR 라이브러리 패키지가 표시됩니다. 이것은 당신이 처음 보게 되는 결과 중 하나일 것입니다. 클릭하여 선택합니다.
- IronOCR 패키지를 선택한 후 우측에 패키지의 설명 및 버전이 포함된 정보가 표시되는 패널을 보게 됩니다. 이 패널에는 설치 버튼도 있습니다.

- 설치 버튼을 클릭합니다. 이 작업은 변경 사항을 검토하도록 요청할 수 있으며 IronOCR과 함께 포함될 종속성 목록을 표시할 수 있습니다. 변경 사항과 종속 항목을 검토하고, 모든 것이 정확해 보이면 설치를 확인하고 진행합니다.
3단계: 프로젝트 구성
IronOCR을 설치한 후 다음 단계는 프로젝트를 구성하는 것입니다. 방법은 다음과 같습니다.
네임스페이스 추가: Program.cs 파일의 상단에 다음 네임스페이스를 포함시킵니다:
using IronOcr;
using System;Imports IronOcr
Imports System구성 설정: API 키나 라이선스 키와 같은 구성 설정이 있는 경우 포함해야 합니다. IronOCR의 경우 제공된 코드에 표시된 대로 라이선스 키를 설정해야 합니다.
License.LicenseKey = "License-Key"; // replace 'License-Key' with your keyLicense.LicenseKey = "License-Key" ' replace 'License-Key' with your key4단계: 영수증 읽기
이제 영수증을 읽기 위한 코드를 작성해 봅시다.
영수증 경로 정의: 스캔하려는 영수증 파일의 경로를 지정합니다.
string pdfFilePath = "Sample_Receipt.jpg";Dim pdfFilePath As String = "Sample_Receipt.jpg"시도-캐치 블록: 시도-캐치 블록을 사용하여 오류 처리를 구현합니다. 이것은 OCR 과정에서 발생하는 예외를 관리하는 데 도움이 됩니다.
try
{
// OCR code will go here
}
catch (Exception ex)
{
// Handle exceptions here
Console.WriteLine($"An error occurred: {ex.Message}");
}Try
' OCR code will go here
Catch ex As Exception
' Handle exceptions here
Console.WriteLine($"An error occurred: {ex.Message}")
End Try5단계: OCR 구현
5단계에서는 애플리케이션의 핵심 기능인 OCR을 구현하여 영수증의 데이터 읽기 및 해석을 수행합니다. 이는 OCR 엔진을 초기화하고 입력을 구성하며, OCR 작업을 수행하고 결과를 표시하는 과정을 포함합니다.
IronTesseract 초기화
코드의 첫 번째 부분은 IronTesseract 클래스의 인스턴스를 생성합니다:
var ocr = new IronTesseract();Dim ocr = New IronTesseract()IronTesseract의 인스턴스를 생성함으로써 본질적으로 우리가 OCR 도구를 설정하여 텍스트 인식 작업을 수행할 준비를 하는 것입니다. 이는 자동차의 엔진을 켜고 운전을 하기 전과 같습니다. 이 객체는 입력을 읽고 텍스트를 추출하는 등 OCR 프로세스를 제어하는 데 사용됩니다.
OCR 입력 구성
다음으로, 우리의 OCR 프로세스를 위한 입력을 정의합니다:
using (var input = new OcrInput(pdfFilePath))
{
// OCR processing will go here
}Using input = New OcrInput(pdfFilePath)
' OCR processing will go here
End Using이 부분에서는 OcrInput를 사용하여 처리하고자 하는 파일을 지정합니다. pdfFilePath는 영수증 파일의 경로를 포함하는 변수입니다. 이 변수를 OcrInput에 전달함으로써 OCR 엔진에 "제가 읽고 싶은 파일입니다."라고 알리는 것입니다. using 문은 OcrInput (파일 핸들과 같은)에서 사용된 리소스가 처리가 완료되면 올바르게 해제되도록 보장하는 특수 C# 구조입니다. 이것은 리소스를 효율적으로 관리하고 불필요한 메모리 사용 없이 애플리케이션이 원활하게 실행되도록 하는 방법입니다.
OCR 수행
using 블록 내에서 Read 메서드를 우리 ocr 인스턴스에서 호출합니다:
var result = ocr.Read(input);Dim result = ocr.Read(input)Read 메서드는 입력 파일 경로를 매개변수로 사용합니다. 이 줄은 영수증 스캔을 시작할 것입니다. 주어진 입력 파일의 OCR을 수행하여 데이터를 추출하고 변수 result에 저장합니다. 이 메소드에서 추출된 텍스트를 사용하여 텍스트 작업을 수행할 수 있습니다.
결과 출력
마지막으로, OCR 프로세스에서 인식된 텍스트를 출력합니다:
Console.WriteLine(result.Text);Console.WriteLine(result.Text)result 변수는 OCR 프로세스의 출력을 포함하고 있으며, result.Text는 영수증에서 추출된 실제 텍스트를 포함하고 있습니다. Console.WriteLine 함수는 이 텍스트를 가져와 콘솔에 표시합니다. 이를 통해 OCR 프로세스의 결과를 보고 검증할 수 있습니다. 여기 전체 Program.cs 파일 코드가 있습니다:
using IronOcr;
using System;
class Program
{
static void Main(string[] args)
{
// Set your IronOCR license key
License.LicenseKey = "Your-License-Key";
// Define the path to the receipt image
string pdfFilePath = "Sample_Receipt.jpg";
try
{
// Initialize the OCR engine
var ocr = new IronTesseract();
// Define the input file
using (var input = new OcrInput(pdfFilePath))
{
// Perform OCR and get the result
var result = ocr.Read(input);
// Display the extracted text
Console.WriteLine(result.Text);
}
}
catch (Exception ex)
{
// Handle exceptions and log them if necessary
Console.WriteLine($"An error occurred: {ex.Message}");
}
}
}Imports IronOcr
Imports System
Class Program
Shared Sub Main(args As String())
' Set your IronOCR license key
License.LicenseKey = "Your-License-Key"
' Define the path to the receipt image
Dim pdfFilePath As String = "Sample_Receipt.jpg"
Try
' Initialize the OCR engine
Dim ocr = New IronTesseract()
' Define the input file
Using input = New OcrInput(pdfFilePath)
' Perform OCR and get the result
Dim result = ocr.Read(input)
' Display the extracted text
Console.WriteLine(result.Text)
End Using
Catch ex As Exception
' Handle exceptions and log them if necessary
Console.WriteLine($"An error occurred: {ex.Message}")
End Try
End Sub
End Class6단계: 애플리케이션 실행
- 프로젝트 빌드:'Build' 메뉴를 클릭한 후 'Build Solution'을 선택합니다.
- 프로젝트 실행: F5를 누르거나 'Start' 버튼을 클릭하여 애플리케이션을 실행합니다.
이제 콘솔에 출력된 영수증 텍스트를 볼 수 있습니다. 이 텍스트는 영수증 이미지에서 추출된 데이터를 나타냅니다. IronOCR을 사용하여 영수증을 스캔하는 방법입니다. 이것은 OCR 기능을 사용하여 종이 영수증에서 데이터를 추출하는 단순한 예입니다. 매우 일반적인 구현입니다. 영수증 이미지의 레이아웃에 맞추어 코드를 수정할 수 있습니다.

그 후에는 스캔한 영수증에서 얻은 비구조화된 데이터를 사용할 수 있습니다. 영수증의 특정 섹션에서 중요한 정보를 얻을 수 있습니다. 또는 더 조직된 방식으로 영수증 데이터를 표시할 수 있습니다. IronOCR를 사용하여 OCR 영수증 스캔 소프트웨어 애플리케이션을 만들 수 있습니다. 이것은 영수증 필드의 정확한 데이터를 추출하는 데 도움이 됩니다.
결론
축하해요! C#과 IronOCR을 사용하여 OCR 영수증 스캐너를 성공적으로 구축했습니다. 이 스캐너는 비용 추적, 공급망 관리 등 다양한 비즈니스 요구에 대한 데이터 추출 정확도를 크게 향상시킬 수 있습니다. 더 이상 스캔한 영수증을 검토하고 수동으로 데이터를 추출할 필요가 없습니다.
IronOCR는 사용자가 이를 무료로 탐색하고 평가할 수 있는 무료 체험판을 제공합니다. 전문적으로 모든 기능을 통합하고 활용하려는 사람들을 위해 라이선스는 $999부터 시작하여 강력한 OCR 영수증 스캐닝 및 데이터 추출 요구에 대한 종합적인 솔루션을 제공합니다.
기억하세요, 이것은 단지 시작입니다. 이 애플리케이션을 확장하여 다양한 파일 형식을 지원하거나 데이터 개인 정보 보호를 개선하거나 세금 금액, 날짜, 라인 항목 등의 특정 필드를 위한 영수증 인식과 같은 추가 기능을 통합할 수 있습니다. OCR 기술을 통해 더 효율적이고 지능적인 비즈니스 프로세스를 위한 길이 열립니다. 즐거운 코딩 되세요!

관련 기사

