C#'da Bir OCR Makbuz Tarayıcısı Nasıl Oluşturulur
Bu eğitim, OCR Makbuz Tarayıcı oluşturmak için C#'taki bir OCR API olan IronOCR kullanmayı öğrenmeye yeni başlayanlara yardımcı olmak için tasarlanmıştır. Bu kılavuzun sonunda, makbuz OCR API'si kullanarak farklı türlerde makbuz dosyalarını düzenlenebilir ve aranabilir verilere dönüştürmek için optik karakter tanımayı (OCR) nasıl uygulayacağınızı anlayacaksınız. Bu teknoloji, masraf yönetimini otomatikleştirmek ve manuel veri girişini en aza indirmek isteyen işletmeler için büyük bir avantaj olabilir. Hadi başlayalım!
How To Create an OCR Receipt Scanner In C
- Visual Studio'da bir C# Konsol projesi oluşturun.
- OCR kütüphanesini NuGet Paket Yöneticisi'ni kullanarak yükleyin.
OcrInputmetodunu kullanarak fişi programa yükleyin.Readmetodunu kullanarak metni çıkarın.- Konsolda çıkarılan metni gösterin.
Ön Koşullar
Kodlama kısmına dalmadan önce, aşağıdakilere sahip olduğunuzdan emin olun:
- Visual Studio: Bu, C# kodumuzu yazıp çalıştıracağımız Entegre Geliştirme Ortamı (IDE) olacaktır.
- IronOCR Kütüphanesi: IronOCR'u, C# uygulamalarıyla kolayca entegre edilebilen gelişmiş bir OCR kütüphanesi kullanacağız.
- Örnek Makbuz: Sample_Receipt.jpg adlı bir makbuz görüntü dosyası, OCR uygulamamızı test etmek için kullanacağız.

1. Adım: 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ştur: Visual Studio açıldıktan sonra bir başlangıç penceresi bulacaksınız. "Yeni bir proje oluştur" düğmesine tıklayın. Visual Studio'yu zaten açtıysanız ve başlangıç penceresini görmüyorsanız, üst menüden Dosya > Yeni > Proje'ye tıklayarak bu pencereye erişebilirsiniz.
Proje Türünü Seç: "Yeni bir proje oluştur" penceresinde çeşitli proje şablonları göreceksiniz. Arama kutusuna "Console App" yazıp seçenekleri filtreleyin, ardından Console App (.NET Core) veya Console App (.NET Framework) seçimini yapın, tercihinize ve uyumluluğunuza bağlı olarak. Ardindan Sonraki dugmesine tiklayin.
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, proje adından farklı bir çözüm adı da belirtebilirsiniz.
- Bu bilgileri girdikten sonra İleri düğmesine tıklayın.
Ek Bilgi: Hedef .NET Çerçevesini seçmeniz istenebilir. En son sürümü seçin (özel uyumluluk gereksinimleriniz yoksa) ve Oluştur düğmesine tıklayın.
Adım 2: IronOCR'u Entegre Etme
IronOCR kütüphanesini kullanabilmemiz için önce projemize dahil etmemiz gerekiyor. Aşağıdaki adımları izleyin:
- Çözüm Gezgini'nde projenizin üzerine sağ tıklayın.
- "NuGet Paketlerini Yönet" seçeneğini seçin.
- NuGet Paket Yöneticisi penceresinde Gözat, Yüklendi, Güncellemeler ve Birleştir gibi çeşitli sekmeler göreceksiniz. Gözat sekmesine tıklayın.
- Arama kutusuna IronOcr yazın. Bu, projemize eklemek istediğimiz kütüphanenin adıdır. Aramak için enter tuşuna basın.
- Arama sonuçlarında IronOCR kütüphane paketi gösterilecektir. Göreceğiniz ilk sonuçlardan biri olmalıdır. Seçmek için üzerine tıklayın.
-
IronOCR paketini seçtikten sonra, paketin açıklaması ve sürümü dahil olmak üzere bilgilerini gösteren sağ tarafta bir panel göreceksiniz. Ayrıca bu panelde bir Yükle düğmesi vardır.

- Yükle düğmesine tıklayın. Bu işlem, değişiklikleri gözden geçirmenizi isteyebilir ve IronOcr ile birlikte dahil edilecek bağımlılıkların bir listesini gösterebilir. Değişiklikleri ve bağımlılıkları gözden geçirin ve her şey doğru görünüyorsa, yüklemeyi onaylayın ve devam edin.
Adım 3: Projeyi Yapılandırma
IronOCR'u yükledikten sonra, bir sonraki adım projenizi yapılandırmaktır. İşte nasıl yapılacağı:
Namespace'leri Ekleyin: Program.cs dosyanızın en üstüne aşağıdaki namespace'leri dahil edin:
using IronOcr;
using System;
using IronOcr;
using System;
Imports IronOcr
Imports System
Yapılandırma Ayarları: API anahtarı veya lisans anahtarı gibi herhangi bir yapılandırma ayarınız varsa, bunları eklediğinizden emin olun. IronOCR için, sağlanan kodda gösterildiği gibi lisans anahtarını ayarlamanız gerekecektir:
License.LicenseKey = "License-Key"; // replace 'License-Key' with your key
License.LicenseKey = "License-Key"; // replace 'License-Key' with your key
License.LicenseKey = "License-Key" ' replace 'License-Key' with your key
Adım 4: Makbuzu Okuma
Şimdi, makbuzu okumak için kodu yazalım.
Makbuz Yolunu Tanımlayın: Taramak istediğiniz makbuz dosyasının yolunu belirtin.
string pdfFilePath = "Sample_Receipt.jpg";
string pdfFilePath = "Sample_Receipt.jpg";
Dim pdfFilePath As String = "Sample_Receipt.jpg"
Try-Catch Bloğu: Hata işleme için bir try-catch bloğu uygulayın. Bu, OCR işlemi sırasında oluşabilecek 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 (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 Try
Adım 5: OCR'yi Uygulama
Adım 5'te, uygulamamızın çekirdek işlevselliğine dalıyoruz: OCR'yi uygulayarak makbuzdan verileri okuyup yorumlama. Bu, OCR motorunu başlatmayı, girdiyi yapılandırmayı, OCR işlemini gerçekleştirmeyi ve sonuçları görüntülemeyi içerir.
IronTesseract'ı Başlatma
Kodun ilk bölümü IronTesseract sınıfının bir örneğini oluşturur:
var ocr = new IronTesseract();
var ocr = new IronTesseract();
Dim ocr = New IronTesseract()
IronTesseract örneğini oluşturarak, esasen OCR aracımızı kuruyoruz, metin tanıma görevlerini gerçekleştirmeye hazırlıyoruz. Bu, bir arabayı sürmeden önce motoru çalıştırmaya benzer. Bu nesne, OCR sürecini kontrol etmek için (girdiyi okuma ve metni çıkarma gibi) kullanılacaktır.
OCR Girdisini Yapılandırın
Sırada, OCR işlemimiz için girdiyi tanımlıyoruz:
using (var input = new OcrInput(pdfFilePath))
{
// OCR processing will go here
}
using (var input = new OcrInput(pdfFilePath))
{
// OCR processing will go here
}
Using input = New OcrInput(pdfFilePath)
' OCR processing will go here
End Using
Bu bölümde, 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 aktararak, OCR motoruna "İşte okumak istediğim dosya" diyoruz. using ifadesi, C# dilinde özel bir yapı olup, OcrInput tarafından kullanılan kaynakların (örneğin dosya tutamaçları gibi) işlem tamamlandığında düzgün bir şekilde serbest bırakılmalarını sağlar. Kaynakları verimli bir şekilde yönetmenin ve uygulamanızın gereksiz bellek kullanımı olmadan sorunsuz çalışmasını sağlamanın bir yoludur.
OCR İşlemi Gerçekleştirin
using bloğu içinde, ocr örneğimizde Read metodunu çağırıyoruz:
var result = ocr.Read(input);
var result = ocr.Read(input);
Dim result = ocr.Read(input)
Read metodu, giriş dosya yolunu parametre olarak alır. Bu satır, makbuz taramasını başlatır. Verilen giriş dosyasının OCR'ını yapacak, verileri çıkaracak ve bunları result adlı bir değişkende depolayacak. Bu yöntemden çıkarılan metni kullanarak her türlü metin işlemi yapabilirsiniz.
Sonuçları Çıktıla
Son olarak, OCR süreci tarafından tanınan metni çıktı olarak veriyoruz:
Console.WriteLine(result.Text);
Console.WriteLine(result.Text);
Console.WriteLine(result.Text)
result değişkeni, OCR sürecinin çıktısını içerir ve result.Text fişten çıkarılan gerçek metni içerir. Console.WriteLine fonksiyonu daha sonra bu metni alır ve konsolda gösterir. Bu, OCR sürecinin sonuçlarını görmenizi ve doğrulamanızı sağlar. İşte tamamlanmış 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}");
}
}
}
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
Friend Class Program
Shared Sub Main(ByVal 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 Class
Adım 6: Uygulamanızı Çalıştırma
- Proje oluşturma: 'Build' menüsüne tıklayın ve ardından 'Build Solution'u seçin.
- Projeyi Çalıştırma: F5'e basın veya uygulamanızı çalıştırmak için 'Başlat' düğmesine tıklayın.
Şimdi fiş çıktısındaki metni konsol'da görüyorsunuz. Bu metin, fiş görüntünüzden çıkarılan verileri temsil eder. IronOCR kullanarak fişleri nasıl taradığımızdır. Bu, kağıt fişlerden veri çıkarmak için OCR yeteneklerini kullanmanın basit bir örneğidir. Çok genel bir uygulamadır. Kodunuzu, fiş görüntülerinizin düzenine uyacak şekilde değiştirebilirsiniz.

Bundan sonra, fişlerden tarama sonucunda elde ettiğimiz yapılandırılmamış verileri kullanabilirsiniz. Fişin belirli bir bölümünden önemli bilgileri alabiliriz. Veya fiş verisini daha düzenli bir şekilde gösterebiliriz. IronOCR kullanarak bir OCR Fiş Tarama yazılım uygulaması yapabiliriz. Bu, fiş alanlarının doğru verilerini çıkarmamıza yardımcı olur.
Sonuç
Tebrikler! C# ve IronOCR kullanarak başarılı bir şekilde bir OCR fiş tarayıcı oluşturdunuz. Bu tarayıcı, masraf takibi, tedarik zinciri yönetimi gibi çeşitli iş ihtiyaçları için veri çıkarma doğruluğunu önemli ölçüde artırabilir. Artık taranan fişleri incelemeye ve verileri manuel olarak çıkarmaya gerek kalmayacak.
IronOCR, kullanıcıların yeteneklerini başlangıçta herhangi bir maliyet olmadan keşfetmeleri ve değerlendirmeleri için ücretsiz bir deneme sunar. Profesyonel bir ortamda tüm özellikleri entegre etmek ve tam kapasitede değerlendirmek isteyenler için lisanslar $799'dan başlar, sağlam OCR fiş tarama ve veri çıkarma ihtiyaçları için kapsamlı bir çözüm sunar.
Unutmayın, bu sadece başlangıç. Bu uygulamayı çeşitli dosya türlerini destekleyecek şekilde genişletebilir, veri gizliliğini artırabilir veya vergi tutarı, tarih, satır öğeleri ve daha fazla gibi belirli alanlar için fiş tanıma gibi ek özellikler entegre edebilirsiniz. OCR teknolojisi ile olasılıklar geniştir, daha verimli ve akıllı iş süreçlerine yol açar. İyi çalışmalar!
Sıkça Sorulan Sorular
OCR Fis Tarayicisi nedir ve isletmelere nasil fayda saglayabilir?
Bir OCR Fis Tarayicisi, fis görüntülerini düzenlenebilir ve arama yapilabilir verilere dönüştürmek için Optik Karakter Tanima teknolojisini kullanan bir araçtır. Verileri otomatik olarak giris yaparak, özellikle gider yönetimi gibi alanlarda is süreçlerini önemli olcude iyilestirir.
C#'da bir OCR Fis Tarayicisi nasil yapabilirim?
C#'da bir OCR Fis Tarayicisi yapmak için IronOCR kütüphanesini kullanabilirsiniz. Visual Studio'da bir C# Konsol projesi kurarak baslayin, NuGet Paket Yöneticisi aracılığıyla IronOCR'u yukleyin ve fis dosyalarinda OCR fonksiyonellisini uygulamak için eğitimi takip edin.
C#'da bir OCR Fis Tarayicisi kurmak için ön koşullar nelerdir?
Ön koşullar, Visual Studio'nun yuklu olması, IronOCR kütüphanesi ve OCR sürecini test etmek için örnek bir fis görüntüsu dosyasının bulunmasidir.
C# projemde IronOCR kütüphanesini nasil kurarım?
IronOCR kütüphanesini projenize eklemek için Visual Studio'da NuGet Paket Yöneticisi'ni kullanabilirsiniz. IronOCR'u arayarak ve projenize ekleyerek OCR yeteneklerine erisebilirsiniz.
IronTesseract sınıfi OCR'da nasil işlev gorur?
IronTesseract sınıfi, IronOCR kütüphanesi icinde OCR motorunu baslatmak için kullanilir, fis görüntüleri uzerinde metin tanima görevlerini yerine getirmenize olanak tanir.
C#'da OCR sürecinde meydana gelen hatalari nasil yönetirim?
OCR sürecinde meydana gelen hatalar, C# kodunuzda bir try-catch blogu kullanılarak yönetilebilir. Bu, istisnaları yönetmeye ve uygulamanın, sorunlarla karşılaşılsa bile, sorunsuz çalışmasını sağlamaya yardımcı olur.
OCR Fis Tarayicimin özelliklerini nasil geliştirebilirim?
Uygulamayı çeşitli dosya türlerini destekleyerek, veri gizliliğini artırarak veya makbuzlar için alan bilgisine dayalı tanıma gibi ek özellikler ekleyerek genişletebilirsiniz, bu da veri çıkarma doğruluğunu artırır.
C# uygulamalarında OCR teknolojisini entegre etmenin en iyi uygulamaları nelerdir?
En iyi uygulamalar arasında IronOCR gibi güvenilir bir kütüphane kullanmak, hataları try-catch blokları ile ele almak ve doğru veri çıkarma sağlamak için tarayıcıyı birden çok makbuz formatı için optimize etmek yer alır.
C# kullanarak bir makbuz resmini nasıl metne dönüştürebilirim?
IronOCR kütüphanesini C# içinde kullanarak bir makbuz resmini metne dönüştürebilirsiniz. Resmi belirtmek için OcrInput sınıfını kullanın ve ardından metni çıkarmak için IronTesseract sınıfı ile işleyin.
IronOCR için hangi lisanslama seçenekleri mevcuttur?
IronOCR, araştırma için ücretsiz bir deneme sunar ve profesyonel ortamlarda genişletilmiş kullanım için uygun lisans seçenekleriyle çeşitli uygulamalar için erişilebilir hale gelir.



