
C#'da Bir OCR Makbuz Tarayıcısı Nasıl Oluşturulur
Bu öğretici, OCR Fatura Tarayıcı oluşturmayı amaçlayan yeni başlayanlar için tasarlandı, IronOCR kullanan bir C# API'sidir. Bu kılavuzun sonunda, makine tarafından algılanabilir ve aranabilir verileri dönüştürerek farklı türde fatura dosyalarını düzenlemek ve aramak için OCR API'yi nasıl uygulayacağınızı anlayacaksınız. Bu teknoloji, harcama yönetimini otomatikleştirmek ve manuel veri girişini minimize etmek isteyen işletmeler için bir dönüm noktası olabilir. Başlayalım!
How To Create an OCR Receipt Scanner In C#
- Visual Studio'da bir C# Konsol projesi oluşturun.
- NuGet Paket Yöneticisi kullanarak OCR kütüphanesini yükleyin.
- Fişi,
OcrInputyöntemiyle programa yükleyin. - Metni
Readyöntemiyle çıkarın. - Çıkarılan metni konsolda gösterin.
Gereksinimler
Kodlama kısmına dalmadan önce, şu öğelere sahip olduğunuzdan emin olun:
- Visual Studio: Entegre Geliştirme Ortamı (IDE) olarak C# kodumuzu burada yazacak ve çalıştıracağız.
- IronOCR Kütüphanesi: C# uygulamalarına kolaylıkla entegre edilebilen gelişmiş bir OCR kütüphanesi olan IronOCR'u kullanacağız.
- Örnek Fatura: Sample_Receipt.jpg adlı bir fatura görüntü dosyasını test için kullanacağız OCR uygulaması.

Adım 1: Projeyi Kurmak
Visual Studio'yu Açın: Masaüstünüzde veya uygulamalar menünüzde Visual Studio simgesini bulun ve programı açmak için çift tıklayın.
Yeni Proje Oluşturun: Visual Studio açıldığında, bir başlangıç penceresi göreceksiniz. "Yeni proje oluştur" düğmesine tıklayın. Visual Studio'yu daha önce açmışsanız ve başlangıç penceresini görmüyorsanız, üst menüden Dosya > Yeni > Proje seçeneğine tıklayarak buna erişebilirsiniz.
Proje Türünü Seçin: "Yeni proje oluştur" penceresinde çeşitli proje şablonları göreceksiniz. Arama kutusuna "Console App" yazın ve seçenekleri filtreleyin, ardından tercihinize ve uyumluluğunuza bağlı olarak Console App (.NET Core) veya Console App (.NET Framework) seçin. Sonra Next düğmesine tıklayın.
Yeni Projenizi Yapılandırın: Şimdi "Yeni projenizi yapılandırın" başlıklı bir ekran göreceksiniz.
- Proje adı alanına, projenizin adı olarak
OCRReceiptScannergirin. - Projenizin kaydedileceği konumu konum alanında seçin veya onaylayın.
- İsterseniz, projenin adından farklı olmasını istiyorsanız bir çözüm adı belirleyebilirsiniz.
- Bu ayrıntıları doldurduktan sonra İleri düğmesine tıklayın.
Ek Bilgiler: Hedef .NET Framework seçmeniz istenebilir. En son sürümü seçin (belirli bir uyumluluk gereksiniminiz yoksa) ve Oluştur'a tıklayın.
Adım 2: IronOCR'yi Entegre Etme
IronOCR kütüphanesini kullanabilmek için öncelikle projeye dahil etmemiz gerekecek. Bu adımları takip edin:
- Çözüm Gezgini'nde projenize sağ tıklayın.
- "NuGet Paketlerini Yönet" seçeneğini seçin.
- NuGet Paket Yöneticisi penceresinde Gözat, Yüklü, Güncellemeler ve Konsolide gibi birden fazla sekme göreceksiniz. Gözat sekmesine tıklayın.
- Arama kutusuna IronOCR yazın. Bu, projeye eklemek istediğimiz kütüphanenin adıdır. Arama yapmak için enter tuşuna basın.
- Arama sonuçlarında IronOCR kütüphane paketi görünecektir. İlk gördüğünüz sonuçlardan biri olmalı. Seçmek için üzerine tıklayın.
- IronOCR paketini seçtikten sonra, sağ tarafta bulunan panelde paket bilgileri, açıklama ve sürüm dahil olmak üzere görünür. Bu panelde ayrıca bir Install düğmesi bulunmaktadır.

- Install düğmesine tıklayın. Bu işlem, size dahil edilecek IronOCR ile birlikte gelen bağımlılıkların bir listesini gösterebilir ve değişiklikleri incelemenizi isteyebilir. Değişiklikleri ve bağımlılıkları gözden geçirin, her şey doğru görünüyorsa onaylayın ve kuruluma devam edin.
Adım 3: Proje Yapılandırması
IronOCR'u yükledikten sonra, bir sonraki adım projenizi yapılandırmaktır. İşte nasıl yapılacağı:
Ad Alanları Ekleyin: Program.cs dosyanızın üst kısmına aşağıdaki ad alanlarını ekleyin:
using IronOcr;
using System;Imports IronOcr
Imports SystemYapılandırma Ayarları: API anahtarı veya lisans anahtarı gibi herhangi bir yapılandırma ayarınız varsa, bunları eklemeyi unutmayın. IronOCR için, lisans anahtarını sağlanan koddaki gibi ayarlamanız gerekecektir:
License.LicenseKey = "License-Key"; // replace 'License-Key' with your keyLicense.LicenseKey = "License-Key" ' replace 'License-Key' with your keyAdım 4: Faturayı Okuma
Şimdi, faturayı okumak için kod yazalım.
Fatura Yolunu Tanımlayın: Tarayacağınız fatura dosyasının yolunu belirtin.
string pdfFilePath = "Sample_Receipt.jpg";Dim pdfFilePath As String = "Sample_Receipt.jpg"Try-Catch Bloğu: Hata yönetimi için bir try-catch bloğu uygulayın. Bu, OCR işlemi sırasında meydana gelebilecek istisnaları yönetmenize yardımcı olacaktır.
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 TryAdım 5: OCR Uygulama
Adım 5'te, uygulamamızın çekirdek işlevine derinlemesine giriş yapıyoruz: Faturadan verileri okumak ve yorumlamak için OCR uygulaması. Bu işlem, OCR motorunu başlatmayı, girişi yapılandırmayı, OCR işlemini gerçekleştirip sonuçları göstermeyi içerir.
IronTesseract'ı Başlatma
Kodun ilk kısmı, IronTesseract sınıfının bir örneğini oluşturur:
var ocr = new IronTesseract();Dim ocr = New IronTesseract()IronTesseract bir örneğini oluşturarak, OCR aracımızı kuruyor, metin tanıma görevlerini gerçekleştirmeye hazır ediyoruz. Bu, arabayı sürmeden önce motorunu çalıştırmak gibidir. Bu nesne, OCR sürecini kontrol etmek, girişi okumak ve metni çıkarmak için kullanılacaktır.
OCR Girişini Yapılandır
Bir sonraki adım, OCR sürecimiz için girişi tanımlamak:
using (var input = new OcrInput(pdfFilePath))
{
// OCR processing will go here
}Using input = New OcrInput(pdfFilePath)
' OCR processing will go here
End UsingBu segmentte, işlemek istediğimiz dosyayı belirtmek için OcrInput kullanılır. pdfFilePath, fiş dosyamızın yolunu içeren bir değişkendir. Bu değişkeni OcrInput'e ileterek OCR motoruna, "İşte okumanı istediğim dosya" diyoruz. using ifadesi, OcrInput tarafından kullanılan kaynakların (dosya kolları gibi) işlem tamamlandığında düzgün bir şekilde serbest bırakılmasını sağlayan özel bir C# yapısıdır. Kaynakları verimli bir şekilde yönetmenin ve uygulamanızın gereksiz belle kullanımından arınmış bir şekilde sorunsuz çalışmasını sağlamanın bir yoludur.
OCR Uygulama
using bloğu içinde, ocr örneğimizde Read yöntemini çağırırız:
var result = ocr.Read(input);Dim result = ocr.Read(input)Read yöntemi, giriş dosya yolunu parametre olarak alacaktır. Bu satır, fatura taramasını başlatacaktır. Verilen giriş dosyasının OCR işlemini yapar, veriyi çıkarır ve result adlı bir değişkende saklar. Bu metodun çıkardığı metni kullanarak her türlü metin işlemını gerçekleştirebiliriz.
Sonuçları Çıktılama
Son olarak, OCR süreci tarafından tanınan metni çıktı alırız:
Console.WriteLine(result.Text);Console.WriteLine(result.Text)result değişkeni, OCR sürecinin çıktısını içerir ve result.Text ise fişten çıkarılan gerçek metni içerir. Console.WriteLine fonksiyonu daha sonra bu metni alır ve konsolda görüntüler. Bu, OCR sürecinin sonuçlarını görmenizi ve onaylamanızı sağlar. İşte tam Program.cs dosya kodu:
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 ClassAdım 6: Uygulamanızı Çalıştırma
- Projeyi Derle: 'Build' menüsüne tıklayın ve ardından 'Build Solution' seçeneğini seçin.
- Projeyi Çalıştır: F5 tuşuna basın veya uygulamanızı çalıştırmak için 'Başlat' düğmesine tıklayın.
Şimdi, fatura görüntünüzden alınan metni konsola çıktısını göreceksiniz. Bu metin, fatura görüntünüzden çıkarılan verileri temsil eder. IronOCR kullanarak faturaları bu şekilde tarıyoruz. Bu, kağıt faturalarından veri çıkarmak için OCR yeteneklerini kullanmanın basit bir örneğidir. Çok genel bir uygulamadır. Kodunuzu, fatura görüntülerinizin düzenine uyacak şekilde değiştirebilirsiniz.

Bundan sonra, taranmış faturalar sonrasında elde ettiğimiz yapılandırılmamış verileri kullanabiliriz. Faturanın belirli bir bölümünden önemli bilgileri alabiliriz. Veya fatura verilerini daha organize bir biçimde gösterebiliriz. IronOCR kullanarak bir OCR Fatura Tarama yazılım uygulaması yapabiliriz. Bu, fatura alanlarının doğru verilerini çıkarmamıza yardım edecektir.
Sonuç
Tebrikler! C# ve IronOCR kullanarak başarılı bir şekilde bir OCR fatura tarayıcı yaptınız. Bu tarayıcı, çeşitli iş ihtiyaçları için, örneğin gider takibi, tedarik zinciri yönetimi gibi veri çıkarma doğruluğunu önemli ölçüde artırabilir. Taradığınız faturaları incelemeye ve verileri manuel olarak çıkarmaya artık gerek kalmayacak.
IronOCR, kullanıcıların yeteneklerini keşfedip değerlendirmelerine olanak tanıyan ücretsiz bir deneme sunar, başlangıçta hiçbir maliyet olmadan. Profesyonel bir ortamda tüm özellikler yelpazesini entegre edip kullanmak isteyenler için, lisanslar $999'den başlamaktadır ve sağlam bir OCR fiş tarama ve veri çıkarma ihtiyaçları için kapsamlı bir çözüm sunar.
Unutmayın, bu sadece bir başlangıç. Bu uygulamayı çeşitli dosya türlerini destekleyecek, veri gizliliğini artıracak veya vergi miktarı, tarih, satır öğeleri gibi belirli alanlar için fatura tanıma gibi ek özelliklerle genişletebilirsiniz. OCR teknolojisi ile olasılıklar geniş, daha verimli ve akıllı iş süreçleri için yol açıyor. İyi kodlamalar!

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.
İlgili Makaleler

