Altbilgi içeriğine atla
IRONOCR KULLANıMı

C#'da Gerçekten Yararlı Veri Çıkaran Bir Fiş OCR API'si Oluşturun

Fis verilerini manuel olarak girmek, geliştiricilerin kariyer secimlerini sorgulamalarina neden olan turden sikici, hata yapmaya uygun bir calismadir. Bir fis OCR API'si, fis görüntülerinden metinleri otomatik olarak cikarmak ve uygulamalarin gercekten kullanabilecegi yapılandırilmis verilere dönüştürmek icin optik karakter tanima kullanarak manuel veri girisini ortadan kaldirir. Hedef, harcama yonetimi otomasyonu, muhasebe yazilimi entegrasyonu veya sadakat programlarini guclendirmek olsun, saglam bir fis OCR cozumu agir yukleri ustlenir.

Bu makalede, IronOCR'yi kullanarak, tamamen yerel calisan bir .NET kutuphanesi olan ve fis verilerini ucuncu taraf bulut hizmetlerine gondermeyi gerektirmeyen bir fis OCR API'si nasıl oluşturabileceginizi gösterecegiz. Bu, dogruluktan odun vermeden tam veri korumasi anlamina gelir.

IronOCR'un ücretsiz deneme surumu ile başlayin ve asagidaki örnekleri takip edin.

Fis OCR Teknolojisi Nasıl Calisir?

C# ile Faydalı Veri Çıkaran Bir Fatura OCR API'si Oluşturun: Resim 1 - Fatura OCR API çıktı örneği

Fis OCR (OCR optik karakter tanima), bir fis görüntüsundeki yazili metni makineyle okunabilir metne dönüştürerek verilerin fislerden otomatik olarak cikartilmasini saglar. Arka planda, AI teknolojileri ve derin ogrenme modelleri fisin görüntüsel yapisini analiz eder, metin bolgelerini belirler ve karakterleri benzersiz bir dogrulukla tanir, genellikle temiz taramalarda %99 veya daha yuksek derecelere ulasir.

Modern fis OCR API'leri, çeşitli fis formatlarindan ve tasarimlarindan satir ici bilgi, toplamlar ve vergi tutarlari gibi temel bilgileri analiz etmek icin makine ogrenmesini kullanir. Derin ogrenme teknikleri, bu modellerin buyuk veri ile ogrenme yoluyla surekli olarak iyilesmesine imkan tanir, yeni fis tasarimlarina ve dillerine zaman icerisinde adapte olurlar. Sonuc, çeşitli endustrilerde yavas, hata egilimli manuel girisi değiştiren hizli, guvenilir fis verisi cikarma işlemidir.

Fis tarama teknolojisi, JPG, PNG ve PDF gibi formatlarda çok sayida dili guclu bir sekilde isleyebilir ve mevcut sistemlerle sorunsuz integre olan yapılandırilmis JSON gibi standart formatlarda sonuclar sunabilir.

Fis Verileri C# Ile Nasıl Cikartilabilir?

C# icinde fis verilerini cikarmak, IronOCR ile sadece birkac satir kod gerektirir. Ana calisma akis, bir fis görüntü dosyasini yukler, OCR motorunu calistirir ve tüm cikarilan metni dondurur.

using IronOcr;
// Initialize the OCR engine for receipt scanning
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;
// Load the receipt image for data extraction
using var input = new OcrInput();
input.LoadImage("receipt.jpg");
// Extract text from the receipt
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
using IronOcr;
// Initialize the OCR engine for receipt scanning
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;
// Load the receipt image for data extraction
using var input = new OcrInput();
input.LoadImage("receipt.jpg");
// Extract text from the receipt
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
Imports IronOcr

' Initialize the OCR engine for receipt scanning
Dim ocr As New IronTesseract()
ocr.Language = OcrLanguage.English

' Load the receipt image for data extraction
Using input As New OcrInput()
    input.LoadImage("receipt.jpg")
    ' Extract text from the receipt
    Dim result As OcrResult = ocr.Read(input)
    Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Çıktı

C# ile Faydalı Veri Çıkaran Bir Fatura OCR API'si Oluşturun: Resim 2 - IronOCR okunmuş fatura çıktısı

IronTesseract sınıfı, Tesseract 5 etrafında yönetilen bir sarmalayıcı olan ve yerel C++ ile etkileşim ve manuel kurulum zahmetini ortadan kaldıran birincil OCR motorudur. OcrLanguage.English ayarı, motorun hangi dil modelini kullanacağını belirlerken, IronOCR dünya genelindeki makbuzlar için 125'ten fazla dili destekler.

OcrInput, pratikte her yaygın biçimdeki fatura görüntülerini (JPG, PNG, BMP, TIFF, GIF, WEBP) ve ayrıca PDF dosyalarını kabul eder. Read yöntemi, gerçek OCR'yi gerçekleştirir ve sadece düz metin değil, aynı zamanda paragraflar, satırlar, kelimeler ve tek tek karakterlerle birlikte güven puanları içeren zengin bir belge nesne modeli olan OcrResult nesnesini döndürür. Gecici seviyedeki veriyi cikartmak icin fis ayrintili calisma akisleri icin idealdir.

Görüntü Onisleme, Fis Tarama Hatalarini Nasıl Azaltabilir?

Gerçek dunyada fis görüntüleri nadiren mükemmel olur. Kirik kagitlar, yetersiz isiklandirma ve hafif donukluk, veri cikarma sirasinda hatalara neden olan gürültülere yol acar. Görüntü, OCR işlemi başlamadan once on işlem yapilarak dogruluk buyuk olcude artar ve aksi takdirde fis verilerinizi bozacak olan hatalari azaltmaya yardimci olur.

using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("receipt.jpg");
// Preprocess the receipt image to improve OCR accuracy
input.DeNoise();    // Remove digital noise from the scanned receipt
input.Deskew();     // Straighten a tilted or rotated receipt capture
input.Sharpen();    // Enhance text clarity for better recognition
OcrResult result = ocr.Read(input);
Console.WriteLine($"Confidence: {result.Confidence}%");
Console.WriteLine(result.Text);
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("receipt.jpg");
// Preprocess the receipt image to improve OCR accuracy
input.DeNoise();    // Remove digital noise from the scanned receipt
input.Deskew();     // Straighten a tilted or rotated receipt capture
input.Sharpen();    // Enhance text clarity for better recognition
OcrResult result = ocr.Read(input);
Console.WriteLine($"Confidence: {result.Confidence}%");
Console.WriteLine(result.Text);
Imports IronOcr

Dim ocr As New IronTesseract()
Using input As New OcrInput()
    input.LoadImage("receipt.jpg")
    ' Preprocess the receipt image to improve OCR accuracy
    input.DeNoise()    ' Remove digital noise from the scanned receipt
    input.Deskew()     ' Straighten a tilted or rotated receipt capture
    input.Sharpen()    ' Enhance text clarity for better recognition
    Dim result As OcrResult = ocr.Read(input)
    Console.WriteLine($"Confidence: {result.Confidence}%")
    Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

C# ile Faydalı Veri Çıkaran Bir Fatura OCR API'si Oluşturun: Resim 3 - Kötü fatura görüntüsüyle örnek çıktı

Görüntü Onisleme Fonksiyonlari

Cikarim dogrulugunu geliştirmek icin, IronOCR, OCR sureci başlamadan once görüntüleri temizlemek icin çeşitli yerlesik filtreler saglar.

Fonksiyon Amac
DeNoise() Taranmis dokümanlarda yaygin olan leke ve digital artefaktlari kaldirir.
Deskew() Egrik veya donuk görüntülar icin rotasyonu algilar ve düzeltir.
Sharpen() Soluken metni daha okunabilir hale getirmek icin bulanık kenarlari geliştirir.
Binarize() Görüntüleri siyah ve beyaza dönüştürerek kontrasti arttirir.
ToGrayScale() OCR motoru icin görüntüyu basitlestirmek icin renk verisini kaldirir.
EnhanceResolution() Harf tanimayi iyilestirmek icin dusuk DPI görüntülerini yukari olcekler.

Guvenilirlik Skorlari ile Veriyi Doğrulama

Basit metin çıkarmanın ötesinde, Confidence özelliği OcrResult üzerinde, çıktının güvenilirliğini gösteren bir yüzde puanı döndürür.

Buyuk hacimlerle bas eden otomatik fis işleme boru hatlari icin bu skor çok degerlidir. Sistem, bir esik belirleyebilir—ornegin, %90 uzerinde olan her seyi otomatik olarak isleyip, dusuk guvenilirlikteki sonuclari manuel inceleme icin isaretleyebilir. Bu, her bir fisin tek tek incelenmesini gerektirmeden yuksek veri kalitesi saglar.

Belirli Fis Alanlari OCR Metninden Nasıl Ayrilabilir?

Bir OCR motorundan cikan ciplak metni almak harika bir başlangictir, ancak sadece başlangictir. Gerçek zamanli işleme sahip bir harcama raporu veya muhasebe araci kuruyorsaniz, sadece "bir metin karmasi" değil, tam tarih, saticinin adi ve o son toplam gibi özgün veri alanlarina ihtiyaçiniz var.

IronOCR resimi okumak konusunda zor olan kismi hallettiginde, bazi standart C# mantigi ve Regular Expressions (Regex) kullanarak fis API'mizde aradigimiz özgün alanlari cikartabiliriz.

using IronOcr;
using System.Text.RegularExpressions;

var ocr = new IronTesseract();
using var input = new OcrInput("receipt.jpg");
input.DeNoise();
OcrResult result = ocr.Read(input);
string ocrText = result.Text;

// Parse the date from receipt data
var dateMatch = Regex.Match(ocrText, @"\d{1,2}/\d{1,2}/\d{2,4}");
string receiptDate = dateMatch.Success ? dateMatch.Value : "Not found";

// Parse the total amount
var totalMatch = Regex.Match(ocrText, @"(?i)total[\s:$]*(\d+\.\d{2})");
string total = totalMatch.Success ? totalMatch.Groups[1].Value : "Not found";

Console.WriteLine($"Date: {receiptDate}");
Console.WriteLine($"Total: ${total}");
using IronOcr;
using System.Text.RegularExpressions;

var ocr = new IronTesseract();
using var input = new OcrInput("receipt.jpg");
input.DeNoise();
OcrResult result = ocr.Read(input);
string ocrText = result.Text;

// Parse the date from receipt data
var dateMatch = Regex.Match(ocrText, @"\d{1,2}/\d{1,2}/\d{2,4}");
string receiptDate = dateMatch.Success ? dateMatch.Value : "Not found";

// Parse the total amount
var totalMatch = Regex.Match(ocrText, @"(?i)total[\s:$]*(\d+\.\d{2})");
string total = totalMatch.Success ? totalMatch.Groups[1].Value : "Not found";

Console.WriteLine($"Date: {receiptDate}");
Console.WriteLine($"Total: ${total}");
Imports IronOcr
Imports System.Text.RegularExpressions

Dim ocr As New IronTesseract()
Using input As New OcrInput("receipt.jpg")
    input.DeNoise()
    Dim result As OcrResult = ocr.Read(input)
    Dim ocrText As String = result.Text

    ' Parse the date from receipt data
    Dim dateMatch As Match = Regex.Match(ocrText, "\d{1,2}/\d{1,2}/\d{2,4}")
    Dim receiptDate As String = If(dateMatch.Success, dateMatch.Value, "Not found")

    ' Parse the total amount
    Dim totalMatch As Match = Regex.Match(ocrText, "(?i)total[\s:$]*(\d+\.\d{2})")
    Dim total As String = If(totalMatch.Success, totalMatch.Groups(1).Value, "Not found")

    Console.WriteLine($"Date: {receiptDate}")
    Console.WriteLine($"Total: ${total}")
End Using
$vbLabelText   $csharpLabel

C# ile Faydalı Veri Çıkaran Bir Fatura OCR API'si Oluşturun: Resim 4 - IronOCR ve basit regex desenleri kullanarak örnek çıktı

Bu örnek, ham OCR fis metninden tarih ve toplamı otomatik olarak cikarmak icin basit regex desenlerini kullanir. Tarih paterni, 03/15/2026 gibi yaygın fis tarih formatlarini eslestirirken, toplam paterni "TOTAL" kelimesini takiben bir dolar miktarini arar. Uretim sistemleri icin, bu patternlerin karsilasilan özgün fis formatlarina uygun olacak sekilde duzenlenmesi gereklidir.

Girdi kalem verisini — bireysel ürün adlari, miktarlar ve fiyatlar — cikarmak icin OCR metnini satirlara ayirip, girdi kalem satirlarini tanimlayan desenler uygulayin. Bu yaklasim, fis görüntülerinin JSON formati ciktiya uygun yapılandırilmis verilere donusumu, harcama yonetimi is akislari ve muhasebe yazilimiyla dogrudan entegrasyon icin iyi calisir. Çeşitli düzenlerde daha ileri düzey fatura ayrıştırması için, belirli fatura bölümlerinden satır öğesi verilerini çıkarmak amacıyla bölge tabanlı OCR okuma (ContentArea dikdörtgenlerini kullanarak) ile IronOCR'un belge yapı özelliklerini birleştirmeyi düşünün.

E. Geliştiricinin Regext'eki Gerçeklik Kontrolü

Gerçekten: Regex başlangic icin "hizli ve kirli" bir yoldur, ancak mucizevi değildir. Gerçek dunya fisleri karmakaristiktir. Bir satici "TOTAL" basarabilir, digeri "Balance Due" diyebilir ve ucuncusu dolar isaretinin uzerinde kahve lekesi olabilir.

Bu urunleri uretime tasiyorsaniz, sadece bir desen rely etmeyin. Bunu daha guclu hale getirmenin yolları:

  • Guvenilirlik Skorlarini Kullanın: IronOCR, okudugu her kelime icin bir guvenilirlik yuzdesi verir. Eğer 'Toplam' miktarınızın güvenirliği %80'in altındaysa, muhtemelen o makbuzu bir insanın tekrar kontrol etmesi için işaretlemelisiniz.
  • Verileri Doğrulayın: Sadece dizeye güvenmeyin. 'Toplam'ı bir ondalık sayıya dönüştürmeye çalışın. Başarısız olursa, OCR'niz bir '5'i 'S' olarak yanlış okuyabilir.
  • Konum Önemlidir: Karmaşık düzenler için, sayfadaki konumuna göre metni bulmak üzere IronOCR'un OcrResult.Blocks veya Lines'ını kullanın. 'Toplam' her zaman sağ alt köşede ise, belirli alanı hedeflemek, makbuzdaki diğer numaralardan gelen 'gürültüyü' azaltır.

Makbuz OCR API'si, Gider Yönetim Sistemleri ile Nasıl Entegre Olur?

Bir makbuz OCR API'si, yapılandırılmış makbuz verilerini doğrudan iş sistemlerine gönderdiğinde gerçekten güçlü olur. IronOCR, herhangi bir .NET uygulamasıyla sorunsuz bir şekilde entegre olan geliştirici dostu bir API sağlar, bu bir ASP.NET web hizmeti, bir masaüstü gider takipçisi veya batch olarak makbuzları işleyen arka plan çalışanı olabilir.

API, çıkarılan metni, bağımsız sayfalara, paragraflara ve satırlara erişim sağlayan bir OcrResult nesnesi olarak döndürür. Bu sayede, OCR metnini yapılandırılmış JSON'a dönüştüren, verileri (duplikat tespiti ve satın alma doğrulaması dahil) doğrulayan ve muhasebe yazılımına, ERP sistemlerine veya veritabanlarına ileten bir makbuz işleme kanalı oluşturmak kolaylaşır.

IronOCR, tüm OCR işlemlerini yerel olarak çalıştırır, bulut bağımlılığı yoktur, ücretsiz plan denemesi için kredi kartı gerektirmez ve hassas finansal belgeler üzerinde tam kontrol sağlar. Bu yerel-öncelikli yaklaşım, makbuz OCR API'sinin büyük hacimli dijital makbuzları gecikme endişesi olmadan işleyebilmesini ve sıkı uyum gereksinimleri olan çeşitli endüstrilerdeki kuruluşlar için doğrudan veri koruması sağlamasını ifade eder. Kütüphane, kapsamlı belgeler sunar ve NuGet aracılığıyla mevcut sistemlerle sorunsuz şekilde entegre olur; bu da hem performansı hem de sadeliği önemseyen ekipler için pragmatik bir seçimdir.

Tam bir makbuz tarama çözümü geliştirmek isteyen geliştiriciler için IronOCR, barkod ve QR kod okuma, arama yapılabilir PDF oluşturma ve çok sayfalı belge işleme gibi özellikleri de aynı kütüphane içinde destekler.

Bugün Makbuz Verisi Çıkarma Otomasyonuna Başlayın

C# ile IronOCR kullanarak bir makbuz OCR API'si oluşturmak manuel veri girişinden kurtarıp yerine hızlı, doğru, otomatik veri çıkarma ile değiştirir. Temel makbuz taramadan, alan seviyesinde çıkarma ile ileri düzey makbuz analizine kadar, kütüphane, makbuz görüntülerini değerli, uygulanabilir yapılandırılmış verilere dönüştürmek için gereken her şeyi sağlar, üstelik belgeler tesis dışına gönderilmeden.

Güçlü önişleme filtrelerinin, temiz bir .NET API'sinin, makine öğrenimi ile geliştirilen tanımanın ve yerel işlemenin birleşimi, IronOCR'yi gider yönetimi, makbuz işleme ve makbuzlardan güvenilir ve ölçeklenebilir veri çıkarması gereken herhangi bir iş akışı için güçlü bir uyum haline getirir.

Makbuz iş akışlarınızdan manuel girişi kaldırmaya hazır mısınız? IronOCR lisanslama seçeneklerini keşfedin ve ekibiniz için doğru planı bulun veya ücretsiz bir deneme ile başlayın ve sonuçları ilk elden görün.

Install-Package IronOcr

Sıkça Sorulan Sorular

Makbuz OCR API nedir?

Bir makbuz OCR API'si, optik karakter tanıma teknolojisini kullanarak makbuz görüntülerinden metin çıkaran ve bunu manuel veri girişine ihtiyaç duymadan yapılandırılmış verilere dönüştüren bir araçtır.

IronOCR makbuz veri çıkarımı için nasıl kullanılabilir?

IronOCR, gelişmiş OCR yeteneklerini kullanarak makbuz görüntülerinden yapılandırılmış verileri çıkarmak için güçlü bir çözüm sağlar, bu da sürecin sorunsuz ve hassas olmasını sağlar.

C#'ta makbuz OCR API kullanmanın faydaları nelerdir?

C#'ta bir makbuz OCR API'si kullanmak, makbuzlardan veri çıkarım sürecini yeniler, elle girişle ilgili hataları azaltır ve uygulamaların, masraf yönetimi ve muhasebe alanında kullanılanlar gibi verimliliğini artırır.

IronOCR muhasebe yazılımlarıyla entegre olabilir mi?

Evet, IronOCR, makbuz veri çıkarma ve işleme otomasyonunu sağlayarak iş akışı verimliliği ve doğruluğunu artırmak için muhasebe yazılımlarıyla entegre olabilir.

IronOCR masraf yönetimi otomasyonu için uygun mu?

IronOCR, masraf yönetim otomasyonu için idealdir; fatura verilerini etkin bir şekilde çıkarır ve işler, manuel veri girişine harcanacak zaman ve çabayı azaltır.

IronOCR farklı makbuz formatlarını nasıl işler?

IronOCR, geniş bir yelpazede makbuz formatlarını tanımak ve işlemek için tasarlanmıştır, bu da makbuzun düzeni veya tasarımı ne olursa olsun doğru veri çıkarımı sağlar.

IronOCR'nin makbuzlardan metin çıkarmada doğru olmasını sağlayan nedir?

IronOCR, karmaşık makbuz görüntülerinden bile yüksek doğruluğu sağlamak için gelişmiş optik karakter tanıma algoritmaları kullanır.

IronOCR sadakat programı uygulamaları için kullanılabilir mi?

Evet, IronOCR, makbuz verilerini doğru bir şekilde çıkararak ve işleyerek satın alma ve ödülleri takip etmek için sadakat programı uygulamalarını güçlendirmek için kullanılabilir.

Makbuz OCR API'sini uygulamak için hangi programlama dili kullanılır?

Makbuz OCR API, IronOCR'nin özelliklerinden yararlanarak verimli ve güvenilir veri çıkarım çözümleri geliştirmek için C# kullanılarak uygulanabilir.

IronOCR, makbuz görüntülerinin yerel olarak işlenmesini destekliyor mu?

Evet, IronOCR, makbuz görüntülerinin yerel olarak işlenmesini destekler, bulut hizmetlerine gerek kalmadan verileri güvenli ve verimli bir şekilde çıkarmanın yolunu sunar.

Kannaopat Udonpant
Yazılım Mühendisi
Yazılım Mühendisi olmadan önce, Kannapat Japonya'daki Hokkaido Üniversitesi'nden Çevresel Kaynaklar alanında doktora yaptı. Derecesini tamamlarken, Biyoprodüksiyon Mühendisliği Bölümü'nün bir parçası olan Taşıt Robotik Laboratuvarı'na da üye oldu. 2022'de, Iron Software mühendislik ekibine katılmak iç...
Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara