Altbilgi içeriğine atla
DIğER BILEşENLERLE KARşıLAşTıRıN

En İyi OCR Motorları: IronOCR vs Rakipler

Klippa, masraf fişleri, faturalar ve kimlik belgeleri için özel olarak tasarlanmış bulut tabanlı bir belge zekası API'sidir — ve bu özelleştirme tam olarak sınırlamadır. Uygulamanızın işlediği her finansal belge Klippa'nın AB sunucularına gitmelidir, bu da banka hesap numaraları, işlem tutarları, KDV detayları ve çalışan masraf verilerinin her çağrıda altyapınızdan dışarı çıkması anlamına gelir. Veri ikametgahı gereksinimleri olan ekipler, 'AB işlemcisini kullanıyoruz' dışında GDPR denetim yükümlülükleri veya fiş/fatura/kimlik kalıbına uymayan belgeleri işleme ihtiyacı olan herkes için Klippa çabuk bir duvarla karşılaşır.

Klippa OCR'yi Anlama

Klippa, bir bulut REST API etrafında inşa edilmiş bir SaaS belge zekası platformudur. Genel amaçlı bir OCR motoru değildir. Hizmet üç belge kategorisini hedefler — masraf belgeleri (fişler, faturalar), kimlik belgeleri (pasaportlar, kimlik kartları) ve mali tablodur - ve ham çıkarılmış metin yerine önceden ayrıştırılmış yapılandırılmış JSON döndürür. Bir Klippa yanıtı size doğrudan vendor, amount, date ve vat_amount gibi alanları verir, kodunuzun OCR çıktısını yorumladığı adımı atlarsınız.

Bir NuGet paketi yok. .NET SDK'sı yok. Entegrasyon, kendi HttpClient sarmalayıcınızı yazmak, çoklu parça form yüklemelerini ele almak, Klippa'nın JSON şemasını deserializasyon işlemi ve API anahtar doğrulamasını özel X-Auth-Key istek başlığı aracılığıyla yönetmek anlamına gelir. Bunların hepsi elle yapılmıştır.

Ana mimari özellikler:

  • Yalnızca bulut dağıtım: Yerinde seçenek yoktur. Her belge işleme için Klippa'nın Avrupa altyapısına gönderilir.
  • NuGet paketi yok: Entegrasyon özel bir REST istemcisi gerektirir. Resmi bir .NET SDK'sı yayınlanmadı.
  • Uzmanlık kapsamı: Fişleri, faturaları, kimlik belgelerini ve finansal tabloları işleme. Bu kategoriler dışındaki belgeler güvenilmez veya yapılandırılmış bir çıktı üretmez.
  • Yapılandırılmış JSON çıktısı: Ham metin yerine ayrıştırılmış alan değerlerini döndürür. Kendinizin çözdüğü OCR çıktısının yerine amount: 156.78 alırsınız.
  • SaaS abonelik fiyatlandırması: Genel fiyatlandırma yok. Faturalama modeli belge başına veya hacim aboneliğine dayalıdır; fiyat teklifleri satış katılımı gerektirir.
  • GDPR kapsamlı AB işleme: Veriler Avrupa veri merkezlerinde işlenir. Belgeler ortamınızdan hala ayrılır.
  • İnternet bağımlılığı: Çevrimdışı çalışma imkansız. Klippa'daki bir kesinti demektir ki belge işlemciniz duracak.

REST API Entegrasyon Deseni

Klippa herhangi bir .NET SDK yayımlamadığı için, tüm entegrasyon manuel HTTP'dir. Klippa için .cs kaynak kodu, gerçek bir entegrasyonun nasıl göründüğünü gösterir.

// Klippa: manual HttpClient integration — no NuGet, no SDK
public class KlippaService
{
    private readonly HttpClient _client;
    private readonly string _apiKey;

    public KlippaService(string apiKey)
    {
        _apiKey = apiKey;
        _client = new HttpClient();
        _client.DefaultRequestHeaders.Add("X-Auth-Key", apiKey); // custom auth header
    }

    // Document upload to Klippa cloud — simplified, see Klippa documentation for full API
    // public async Task<ReceiptData> ProcessReceiptAsync(string imagePath)
    // {
    //     var content = new MultipartFormDataContent();
    //     content.Add(new ByteArrayContent(File.ReadAllBytes(imagePath)), "document", "receipt.jpg");
    //     var response = await _client.PostAsync(
    //         "https://custom-ocr.klippa.com/api/v1/parseDocument", content);
    //     // deserialize structured JSON response...
    // }
}
// Klippa: manual HttpClient integration — no NuGet, no SDK
public class KlippaService
{
    private readonly HttpClient _client;
    private readonly string _apiKey;

    public KlippaService(string apiKey)
    {
        _apiKey = apiKey;
        _client = new HttpClient();
        _client.DefaultRequestHeaders.Add("X-Auth-Key", apiKey); // custom auth header
    }

    // Document upload to Klippa cloud — simplified, see Klippa documentation for full API
    // public async Task<ReceiptData> ProcessReceiptAsync(string imagePath)
    // {
    //     var content = new MultipartFormDataContent();
    //     content.Add(new ByteArrayContent(File.ReadAllBytes(imagePath)), "document", "receipt.jpg");
    //     var response = await _client.PostAsync(
    //         "https://custom-ocr.klippa.com/api/v1/parseDocument", content);
    //     // deserialize structured JSON response...
    // }
}
Imports System.Net.Http

Public Class KlippaService
    Private ReadOnly _client As HttpClient
    Private ReadOnly _apiKey As String

    Public Sub New(apiKey As String)
        _apiKey = apiKey
        _client = New HttpClient()
        _client.DefaultRequestHeaders.Add("X-Auth-Key", apiKey) ' custom auth header
    End Sub

    ' Document upload to Klippa cloud — simplified, see Klippa documentation for full API
    ' Public Async Function ProcessReceiptAsync(imagePath As String) As Task(Of ReceiptData)
    '     Dim content = New MultipartFormDataContent()
    '     content.Add(New ByteArrayContent(File.ReadAllBytes(imagePath)), "document", "receipt.jpg")
    '     Dim response = Await _client.PostAsync("https://custom-ocr.klippa.com/api/v1/parseDocument", content)
    '     ' deserialize structured JSON response...
    ' End Function
End Class
$vbLabelText   $csharpLabel

Örnek oluşturacak türlenmiş bir sınıf yok. Yapılandırılacak bir giriş nesnesi yok. Kimlik doğrulama, yeniden deneme mantığı, hata yönetimi ve yanıt çözümleme ile ilgili her şey sizin uygulayıp sürdürmeniz gereken bir sorundur.

IronOCR'u Anlamak

IronOCR, belgeleri yerel olarak, altyapınız içinde işleyen, ağ çağrısı gerektirmeyen .NET için ticari bir yerinde OCR kütüphanesidir. Bu, optimize edilmiş bir Tesseract 5 motorunu otomatik ön işleme, yerel PDF desteği ve tek bir NuGet paketi dağıtım modeli ile sarar. Kütüphane, ön işleme boru hatları inşa etmek veya bulut kimlik bilgilerini yönetmek zorunda kalmadan üretime hazır metin çıkarımı ihtiyacı olan geliştiricilere yöneliktir.

Anahtar özellikler:

  • Yerinde işleme: Belgeler asla sunucunuzdan ayrılmaz. Tam veri egemenliği ile hiçbir harici işlemci bağımlılığı yok.
  • Tek NuGet paketi: dotnet add package IronOcr tüm yerel bağımlılıklar ile birleştirilmiş tam kütüphaneyi sağlar.
  • Genel amaçlı OCR: Faturalar, fişler, kimlik belgeleri, formlar, taranmış sözleşmeler, teknik çizimler, ekran görüntüleri ve daha fazlası — önceden eğitilmiş sınırlı kategoriler olmayan her tür belgeyi okur.
  • Otomatik ön işleme: Eğri giderme, gürültü giderme, kontrast artırma, binarize etme ve çözünürlük normalizasyonu, tanımadan önce otomatik olarak uygulanır.
  • Yerel PDF girişi: Taranmış PDF dosyalarını doğrudan okur. Harici bir PDF'den-görüntüye dönüştürme adımı gerektirmez.
  • Yapılandırılmış sonuç nesneleri: Kelime seviyesi koordinatları, güven puanları, satır ve paragraf segmentasyonu ile OcrResult döndürür — ihtiyacınız olan herhangi bir çıkarım mantığı oluşturmak için ham materyal sağlar.
  • 125+ dil: Dil paketleri ayrı NuGet paketleri olarak kurulur. Tessdata klasör yönetimi yok.
  • Süresiz lisanslama: $999 Lite / $1,499 Plus / $2,999 Professional / $5,999 Unlimited — tek ödeme, belge başına faturalama yok.

Özellik Karşılaştırması

Özellik Klippa OCR IronOCR
Dağıtım Sadece Bulut (AB) Yerinde
.NET SDK / NuGet None IronOcr NuGet
Belge kapsamı Fişler, faturalar, kimlikler Herhangi bir belge türü
Çıktı formatı Yapılandırılmış JSON alanları Ham metin + kelime koordinatları
Çevrimdışı çalışma Hayır Evet
Fiyatlandırma modeli SaaS abonelik (belge başına) Süresiz lisans
Veriler ağınızdan çıkar Her zaman Asla

Ayrıntılı Özellik Karşılaştırması

Özellik Klippa OCR IronOCR
Dağıtım ve Entegrasyon
Yerinde dağıtım Hayır Evet
NuGet paketi None IronOcr
Resmi .NET SDK Hayır Evet
Çevrimdışı çalışma Hayır Evet
İzole ortama destek Hayır Evet
İnternet gerekli Her zaman Asla
Belge İşleme
Genel amaçlı OCR Hayır Evet
Fiş/fatura ayrıştırma Evet (önceden hazırlanmış alanlar) Evet (ham metin + özel mantık)
Kimlik belgesi ayrıştırma Evet (önceden hazırlanmış alanlar) Evet (ham metin + bölge OCR)
Tarama PDF girişi Evet Evet
Resim girişi (JPG, PNG, TIFF) Evet Evet
Rastgele belge türleri Hayır Evet
Çıktı
Yapılandırılmış alan çıkartma Evet (önceden hazırlanmış şema) OcrResult'den kendi paketini oluştur
Ham OCR metni Hayır Evet
Kelime düzeyinde koordinatlar Hayır Evet
Güven skoru Hayır Evet
Aranabilir PDF çıktısı Hayır Evet
hOCR içeri aktarma Hayır Evet
Ön işlem
Otomatik düzeltme Bilinmiyor (bulut-tarafından işleniyor) Evet
Gürültü giderme Bilinmiyor (bulut-tarafından işleniyor) Evet
Kontrast / binarize etme Bilinmiyor (bulut-tarafından işleniyor) Evet
Çözünürlük iyileştirmesi Bilinmiyor (bulut-tarafından işleniyor) Evet
Diller
Çok dilli destek Desteklenen belge türleriyle sınırlı 125+ dil
Özel dil yapılandırması Hayır Evet
Uyumluluk ve Güvenlik
Verileri yerinde kalır Hayır Evet
HIPAA uyumlu dağıtım Hayır (veriler ağa çıkar) Evet
ITAR / izole ortam desteği Hayır Evet
AB GDPR (veri aktarımı yok) Kısmen (AB sunucuları, hâlâ harici) Evet
Fiyatlandırma
Belge başına maliyet Evet Hayır
Süresiz lisans Hayır Evet
Ölçekte tahmin edilebilir maliyet Hayır Evet

Uzman vs. Genelci Kapsamı

Önceden eğitilmiş harcama çıkarım hizmeti ve genel amaçlı bir OCR motoru farklı araçlardır. Soru şu: Hangisine veya her ikisine de ihtiyacınız var mı?

Klippa'nın Yaklaşımı

Klippa, bildiği belge türleri için önceden ayrıştırılmış yapılandırılmış veri döner. Bir makbuz gönderin ve vendor, amount, date, vat_amount olarak yazılmış alanlar olarak geri alın. Sonuçları kendi sonunda ayrıştırma kodu gerekli değildir. Bilinen bir satıcı kümesinden fiş işlediğiniz basit bir masraf yönetimi entegrasyonu için, bu gerçekten yararlıdır.

Sınırlama sınırdır. Tarama bir iş sözleşmesini, teknik bir resmi, bir sağlık formunu veya bir ekran görüntüsünü sunun ve Klippa'nın uzman modeli sunacak bir şey yoktur. Platformun keyfi belgelerden ham metin dönen genel bir OCR modu yoktur. Uygulamanız birden fazla belge türü işliyorsa - veya gereksinimler ilk masraf yönetimi kullanım durumunun ötesine geçiyorsa - ikinci bir sistem arıyorsunuz demektir.

IronOCR Yaklaşımı

IronOCR, metin içeren herhangi bir belgeyi işler. Karşılıklı fedakarlık, yapılandırılmış alan çıkartmanın (satıcı adı, toplam miktar, ödeme tarihi) kendi yazdığınız kodu gerektirmesidir. OcrResult nesnesi size ham materyali verir: tam metin, kelime seviyesi koordinatları, satır ve paragraf segmentasyonu ve kelime başına güven puanları.

// IronOCR: extract text from any document type, then parse
var ocr = new IronTesseract();
var result = ocr.Read("invoice.jpg");

// Word coordinates and confidence — build any extraction logic on top
foreach (var word in result.Words)
{
    Console.WriteLine($"'{word.Text}' at ({word.X},{word.Y}) confidence: {word.Confidence}%");
}

// Or use region-based OCR to target specific fields
var totalRegion = new CropRectangle(400, 600, 200, 50); // bottom-right area
using var input = new OcrInput();
input.LoadImage("invoice.jpg", totalRegion);
var totalText = new IronTesseract().Read(input).Text;
// IronOCR: extract text from any document type, then parse
var ocr = new IronTesseract();
var result = ocr.Read("invoice.jpg");

// Word coordinates and confidence — build any extraction logic on top
foreach (var word in result.Words)
{
    Console.WriteLine($"'{word.Text}' at ({word.X},{word.Y}) confidence: {word.Confidence}%");
}

// Or use region-based OCR to target specific fields
var totalRegion = new CropRectangle(400, 600, 200, 50); // bottom-right area
using var input = new OcrInput();
input.LoadImage("invoice.jpg", totalRegion);
var totalText = new IronTesseract().Read(input).Text;
Imports IronOcr

' IronOCR: extract text from any document type, then parse
Dim ocr As New IronTesseract()
Dim result = ocr.Read("invoice.jpg")

' Word coordinates and confidence — build any extraction logic on top
For Each word In result.Words
    Console.WriteLine($"'{word.Text}' at ({word.X},{word.Y}) confidence: {word.Confidence}%")
Next

' Or use region-based OCR to target specific fields
Dim totalRegion As New CropRectangle(400, 600, 200, 50) ' bottom-right area
Using input As New OcrInput()
    input.LoadImage("invoice.jpg", totalRegion)
    Dim totalText = New IronTesseract().Read(input).Text
End Using
$vbLabelText   $csharpLabel

Bölge temelli OCR kılavuzu, sabit düzen belgelerden belirli alanların nasıl çıkarılacağını gösterir. Fatura OCR desenleri için fatura OCR eğitimi uçtan uca çıkarım mantığını kapsar ve fiş tarama eğitimi fiş vakasını özellikle ele alır.

Bu, fiş ve fatura durumlarında Klippa'dan daha fazla iş yüküdür. Başka her şey için tek seçenektir.

Finansal Belgeler için Veri Gizliliği

Herhangi bir üçüncü taraf sunucuya finansal belgeleri göndermek önemli bir mimari karardır ve Klippa'nın hizmetinin belge başına doğası, bu kararın her bir işlemde alındığı anlamına gelir.

Klippa'nın Yaklaşımı

Klippa'ya gönderilen her belge, genel internet üzerinden taşınır ve kontrol etmediğiniz sunucularda işlenir. README ve kaynak kodu bunu açıkça belirtir: 'Belgeler Klippa'nın Avrupa bulut altyapısında işlenir' ve 'Belgeler AB veri merkezlerine gönderilir.' Avrupa işleme, GDPR'ın bazı yönlerini çözer — özellikle Beşinci Bölüm'deki veri aktarım mekanizması — ancak diğerlerini ele almaz.

Kalan sorunlar gerçektir:

  • Çalışan harcama verileri (miktarlar, satıcılar, seyahat desenleri) üçüncü bir taraf işlemciye görünür olur.
  • Finansal tablo verileri, fatura detayları ve kimlik belgesi taramaları her çağrıda iletilir.
  • Klippa'nın şartları ve veri saklama politikaları, verilerin sunucularında dinlenme halindeyken ne olacağını yönetir.
  • Belge işleme kapsamınızı kapsayan bir denetim, artık Klippa'nın altyapısını da içermelidir.

Sıkı veri işleme gereksinimlerine sahip kuruluşlar için — finansal hizmetler, sağlık hizmetleri, hükümet yüklenicileri, hukuk firmaları — Avrupa barındırma, verilerin organizasyondan ayrılması sorununu çözmez.

// Klippa: document data leaves your network on every call
// No configuration option changes this — it is the service's architecture
public class KlippaService
{
    public void ShowConsiderations()
    {
        Console.WriteLine("Klippa Considerations:");
        Console.WriteLine("1. Cloud-only - no on-premise option");
        Console.WriteLine("2. Per-document pricing");
        Console.WriteLine("3. Specialized for receipts/invoices");
        Console.WriteLine("4. Requires internet connection");
        Console.WriteLine("5. Documents sent to EU data centers");
    }
}
// Klippa: document data leaves your network on every call
// No configuration option changes this — it is the service's architecture
public class KlippaService
{
    public void ShowConsiderations()
    {
        Console.WriteLine("Klippa Considerations:");
        Console.WriteLine("1. Cloud-only - no on-premise option");
        Console.WriteLine("2. Per-document pricing");
        Console.WriteLine("3. Specialized for receipts/invoices");
        Console.WriteLine("4. Requires internet connection");
        Console.WriteLine("5. Documents sent to EU data centers");
    }
}
' Klippa: document data leaves your network on every call
' No configuration option changes this — it is the service's architecture
Public Class KlippaService
    Public Sub ShowConsiderations()
        Console.WriteLine("Klippa Considerations:")
        Console.WriteLine("1. Cloud-only - no on-premise option")
        Console.WriteLine("2. Per-document pricing")
        Console.WriteLine("3. Specialized for receipts/invoices")
        Console.WriteLine("4. Requires internet connection")
        Console.WriteLine("5. Documents sent to EU data centers")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronOCR Yaklaşımı

IronOCR, belgeleri tamamen altyapınız içinde işler. Kütüphane, OCR motorunu süreç içi çalıştırır — HTTP çağrısı, ağ erişimi, herhangi bir harici hizmet bağımlılığı yok.

// IronOCR: all processing stays on your server
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";

var ocr = new IronTesseract();
var result = ocr.Read("financial-statement.pdf"); // stays on your machine

// Build extraction logic on top of the raw result
var text = result.Text;
Console.WriteLine($"Processed {result.Pages.Count()} pages locally");
Console.WriteLine($"Confidence: {result.Confidence}%");
// IronOCR: all processing stays on your server
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";

var ocr = new IronTesseract();
var result = ocr.Read("financial-statement.pdf"); // stays on your machine

// Build extraction logic on top of the raw result
var text = result.Text;
Console.WriteLine($"Processed {result.Pages.Count()} pages locally");
Console.WriteLine($"Confidence: {result.Confidence}%");
Imports IronOcr

' IronOCR: all processing stays on your server
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY"

Dim ocr As New IronTesseract()
Dim result = ocr.Read("financial-statement.pdf") ' stays on your machine

' Build extraction logic on top of the raw result
Dim text = result.Text
Console.WriteLine($"Processed {result.Pages.Count()} pages locally")
Console.WriteLine($"Confidence: {result.Confidence}%")
$vbLabelText   $csharpLabel

Uyum etkileri doğrudur: HIPAA, ITAR, CMMC ve FedRAMP gereksinimleri, hassas verilerin harici işlemcilere iletilmesini yasaklayan gereksinimlerle varsayılan olarak uyumludur. İzole ortamlar değişiklik gerektirmez. IronOCR belgeleri, Docker, AWS, Azure ve Linux ortamlarında dağıtımı kapsar — hepsi tamamen kendi altyapınızda çalışır.

Özellikle kimlik belgesi işleme için, kimlik belgeleri OCR kılavuzu ve pasaport OCR eğitimi, pasaport ve kimlik verilerini herhangi bir dış hizmete belgeyi iletmeden çıkartmanın nasıl yapıldığını gösterir.

Belge Başına Fiyatlandırma vs. Süresiz Lisans

Klippa fiyatlarını kamuoyuna açıklamaz. Bu bile planlama sorunudur: satış konuşması olmadan maliyet modeli oluşturamazsınız ve üretime geçene kadar aylık faturanızı tahmin edemezsiniz.

Klippa'nın Yaklaşımı

Mimari ve halkla ilişkilendirilmiş pozisyona dayanarak, Klippa, belge başına veya abonelik seviyesi başına fatura eder. İşlenen her fiş, fatura ve kimlik belgesi faturaya eklenir. Orta ölçekli — ayda 5.000 belge işleyen bir masraf yönetim sistemi veya günde 500 fatura tarayan bir finansal uygulama — belge başına fiyatlandırma hızla birikir. Maliyet eğrisi sınırlı değildir: daha fazla belge, daha fazla maliyet, süresiz olarak.

API seviyesinde toplu işleme maliyet azaltımı kavramı yoktur. Çevrimdışı işleme veya önbelleğe alma bir seçenek değildir. Her belge canlı bir API çağrısı gerektirir ve bir ücret taşır.

IronOCR Yaklaşımı

IronOCR, belge başına ücret taşımayan süresiz bir lisans kullanır. $999 Lite lisansı, sınırsız doküman işleme kapsayan tek seferlik bir ödemedir — ölçüm yok, kullanım takibi yok, ay sonunda faturalama sürprizleri yok.

Aylık 5.000 belge işleyen bir ekip için:

-IronOCR Lite ile 1. Yıl: $999 toplam -IronOCR Lite ile 3. Yıl: $999 toplam (süresiz, aynı lisans)

  • Klippa ile 3. Yıl: açıklanmamış belge başına ücretlerle üç yıl süren abonelik faturalaması

IronOCR lisanslama sayfası tüm seviyeleri detaylandırır. $2,999 üzerindeki Professional lisansı, 10 geliştirici ve 10 projeyi kapsar — sınırsız dokümanlara ölçeklenen tek seferlik bir maliyetle tam bir ekip.

IronOCR ile toplu işleme herhangi bir mali cezaya tabi değildir:

// IronOCR: process 10,000 documents — same cost as processing 10
var ocr = new IronTesseract();

Parallel.ForEach(Directory.GetFiles("receipts", "*.jpg"), filePath =>
{
    var result = new IronTesseract().Read(filePath);
    SaveResult(filePath, result.Text);
    // Each document: $0 marginal cost
});
// IronOCR: process 10,000 documents — same cost as processing 10
var ocr = new IronTesseract();

Parallel.ForEach(Directory.GetFiles("receipts", "*.jpg"), filePath =>
{
    var result = new IronTesseract().Read(filePath);
    SaveResult(filePath, result.Text);
    // Each document: $0 marginal cost
});
Imports System.IO
Imports System.Threading.Tasks

' IronOCR: process 10,000 documents — same cost as processing 10
Dim ocr As New IronTesseract()

Parallel.ForEach(Directory.GetFiles("receipts", "*.jpg"), Sub(filePath)
    Dim result = (New IronTesseract()).Read(filePath)
    SaveResult(filePath, result.Text)
    ' Each document: $0 marginal cost
End Sub)
$vbLabelText   $csharpLabel

Sadece REST ve Yerel SDK

.NET SDK'sının yokluğu, küçük bir rahatsızlık değil, somut bir geliştirme maliyetidir.

Klippa'nın Yaklaşımı

NuGet paketi olmadan, Klippa entegrasyonu ekibinizin oluşturup sürdüreceği özel bir HTTP istemcisi gerektirir. Karşılaştırma dosyasındaki kod kalıbı gösterir: HttpClient başlatın, varsayılan istek başlıklarına X-Auth-Key ekleyin, MultipartFormDataContent oluşturun, https://custom-ocr.klippa.com/api/v1/parseDocument'a POST edin, yanıtı okuyun ve deserialize edin. Bu adımların her biri doğru bir şekilde sizin tarafınızdan uygulanmalıdır.

Başlangıç uygulamasının ötesinde, şimdi sahipsiniz:

  • Geçici hatalar ve hız limitleri için tekrar deneme mantığı
  • Zaman aşımı işleme ve iptal belirteci yayılması
  • Klippa API'sini güncellediğinde yanıt şeması sürümleme
  • Kimlik bilgisi anahtarı döndürme ve güvenli depolama
  • HTTP durum kodlarından uygulama istisnalarına hata kodu eşleme
  • Canlı bulut çağrıları olmadan çalışabilen entegrasyon test altyapısı

Bu bir hafta sonu projesi değildir. Bir üretim entegrasyonu oluşturan ekipler için, ilk belge güvenilir bir şekilde işlenmeden önce 2-4 gün mühendislik zamanı tahmin edin.

IronOCR Yaklaşımı

dotnet add package IronOcr ve kurulumla işiniz bitti. IronTesseract kurulum kılavuzu beş dakikadan daha kısa sürede kurulumunu kapsar. Özel bir HTTP istemcisi yok. Kimlik doğrulama tesisatı yok. Yanıt serileştirme yok.

// IronOCR: installation is one command, first read is three lines
dotnet add package IronOcr

IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";
var text = new IronTesseract().Read("receipt.jpg").Text;
// IronOCR: installation is one command, first read is three lines
dotnet add package IronOcr

IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";
var text = new IronTesseract().Read("receipt.jpg").Text;
' IronOCR: installation is one command, first read is three lines
' dotnet add package IronOcr

IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY"
Dim text As String = New IronTesseract().Read("receipt.jpg").Text
$vbLabelText   $csharpLabel

API varsayılan olarak eş zamanlıdır, web uygulaması entegrasyonu için ReadAsync aracılığıyla asenkron destek mevcuttur. Eşzamansız OCR kalıpları ASP.NET Core entegrasyon yolunu kapsar. Kütüphane, iş parçacığı güvenliğindedir: birden fazla IronTesseract örneği çekişme olmadan paralel çalışır.

Girdi kaynakları için IronOCR, dosya yolları, bayt dizileri, akışlar, URL'ler ve hiçbir ek yapılandırma gerektirmeden System.Drawing.Bitmap nesnelerini kabul eder. Görüntü girişi kılavuzu ve akış girişi kılavuzu tüm giriş kalıplarını kapsar.

API Eşleme Başvurusu

Klippa, yazılı SDK yerine bir REST uç noktası sunar. Aşağıdaki eşleme, Klippa'nın entegrasyon yüzeyini IronOCR eşdeğerlerine çevirir.

Klippa Kavramı IronOCR Karşılığı
X-Auth-Key HTTP başlığı (API doğrulaması) IronOcr.License.LicenseKey dize özelliği
POST /api/v1/parseDocument (REST endpoint) IronTesseract.Read(path) metodu
MultipartFormDataContent (belge yükleme) OcrInput.LoadImage(path) veya OcrInput.LoadPdf(path)
HttpClient (manuel REST istemcisi) IronTesseract (yerel .NET sınıfı, HTTP yok)
Yapılandırılmış JSON yanıt alanları (vendor, amount) OcrResult.Text + özel ayrıştırma mantığı
Bulut belge yönlendirme Yerel işlemde yürütme — yönlendirme yok
Belge başına API çağrısı ocr.Read(input) — çevrimdışı, ağ araması yok
SDK yok — elle kurulu entegrasyon IronOcr NuGet paketi

Takımlar Klippa'dan IronOCR'a Geçmeyi Değerlendirdiğinde

Veri İkamet Gereksinimleri Ortaya Çıkıyor

Basit bir masraf raporu entegrasyonu için Klippa'yı benimseyen bir ekip, genellikle uyumluluk denetimi belgelerin verilerinin nerede işlendiğini sorduğunda veya yeni bir müşteri sözleşmesi belgelerin üçüncü taraf işlemcilerine iletilmesini yasaklayan veri işleme hükümleri içerdiğinde veri ikamet sorununu daha sonra keşfeder. Bu konuşma olduğunda, Klippa'nın AB merkezli işlemleri ihtiyacı karşılamaz çünkü veriler hala organizasyonu terk etmektedir. Uyumluluk yolunda ilerlemek için yerinde işleme yapılmalıdır ve IronOCR doğrudan bir NuGet yedeğidir. IronOCR ürün sayfası, mimari yeniden tasarım olmadan denetim gereksinimlerini karşılayan eksiksiz yerel dağıtım modelini detaylandırır.

Belge Kapsamı Uzman Setinin Ötesine Geçiyor

Masraf yönetim sistemleri nadiren sadece masraf yönetim sistemleri olarak kalır. Çalışan fişlerini işleyerek başlayan bir ürün, ardından satıcı faturalarını, ardından satın alma siparişlerini, ardından taranmış sözleşmeleri, ardından işe alım kimlik belgelerini, ardından serbest metin alanları içeren teknik formları işler hale gelir. Klippa'nın önceden eğitilmiş kategorilerine uymayan her belge türü, farklı bir sistem gerektirir. Bu noktaya gelen ekipler — harcamalar için Klippa çalışan, sözleşmeler için başka bir şey, genel belge OCR için başka bir şey çalıştıran — IronOCR'un yığını birleştirdiğini bulurlar. Tek bir kütüphane tüm belge türlerini yönetir ve çıkarım mantığı kod tabanınızda bulunur, burada sürümleyebilir, test edebilir ve değiştirebilirsiniz.

Belge Başına Maliyetler Bütçenin Ötesine Ulaşıyor

Ayda binlerce belge işleyen kuruluşlar belge başına fiyatlandırmayı yakından hisseder. 500 fiş için ayda yönetilebilir görünen durum, üretimde ayda 50.000 belge ile beklenmeyen bir bütçe kalemi haline gelir. Bileşik dinamik öngörülebilir ancak hafife almak kolaydır: daha fazla kullanıcı, daha fazla belge, daha fazla maliyet ve doğal bir tavan yok. IronOCR'un süresiz lisansı bu dinamiği tamamen ortadan kaldırır. 500 veya 500.000 belge işlemek aynı maliyettedir.

Çevrimdışı veya Sınırlı Ağ Ortamları

Finansal işlem uygulamaları bazen dışarıya ağ erişiminin sınırlı olduğu ortamlarda çalışır — bankacılık ağları, hükümet sistemleri, sıkı çıkış kontrolleri olan kurumsal ortamlar veya bağlantının kesintili olduğu kenar dağıtımları gibi. Klippa bu bağlamların hiçbirinde çalışamaz.IronOCR tamamen çevrimdışı çalışır, dışa giden ağ çağrısı olmadan. Docker dağıtım kılavuzu ve Linux dağıtım kılavuzu, bu ortamlar için konteynerleştirilmiş dağıtım yolunu kapsar.

Çıkarım Mantığının Özelleştirilmesi Gerekiyor

Klippa'nın önceden oluşturulmuş alan şeması standart makbuzlar için çalışıyor. Belgeleriniz standart olmayan düzenlere sahip olduğunda — bölgeye özgü tarih formatları, çok para birimli faturalar, birleştirilmiş alanlar, tablo yapıları — yapılandırılmış çıktı ya yanlış sınıflandırır ya da Klippa'nın tanımadığı alanlar için boş değerler döndürür. IronOCR'un kelime seviyesindeki koordinatlarla ham metin çıktısı, belgelerinizde gerçekten bulunan bölgeleri ve kalıpları hedefleyen çıkarım mantığını oluşturmanıza olanak tanır.

Genel Geçiş Dikkat Edilmesi Gereken Hususlar

Kendi Çıkarım Katmanınızı İnşa Etmek

Klippa'dan IronOCR'a geçişteki en büyük değişiklik, alan çıkarımından sorumlu olmaktır. Klippa, vendor ve amount'ü yazılmış özellikler olarak sunar. IronOCR, ham metin ve kelime koordinatları verir. Standart makbuz ayrıştırması için, makbuz tarama öğreticisi tam çıkarım kalıpları sağlar. Faturalar için, PDF veri çıkarımı PDF giriş yolunu kapsar. OcrResult yapılandırılmış veriler, regex tabanlı ve koordinat tabanlı çıkarımı güvenilir kılan — result.Lines, result.Words, kelime başına güven puanlarını sağlamanın yapı taşlarını sağlar.

// IronOCR: build structured extraction from OcrResult
var result = new IronTesseract().Read("receipt.jpg");

// Use word positions to locate fields in known layout areas
var totalRegion = new CropRectangle(300, 500, 250, 60);
using var input = new OcrInput();
input.LoadImage("receipt.jpg", totalRegion);
var totalText = new IronTesseract().Read(input).Text;

// Line-based extraction for sequential field parsing
foreach (var line in result.Lines)
{
    if (line.Text.StartsWith("Total", StringComparison.OrdinalIgnoreCase))
        Console.WriteLine($"Total line: {line.Text}");
}
// IronOCR: build structured extraction from OcrResult
var result = new IronTesseract().Read("receipt.jpg");

// Use word positions to locate fields in known layout areas
var totalRegion = new CropRectangle(300, 500, 250, 60);
using var input = new OcrInput();
input.LoadImage("receipt.jpg", totalRegion);
var totalText = new IronTesseract().Read(input).Text;

// Line-based extraction for sequential field parsing
foreach (var line in result.Lines)
{
    if (line.Text.StartsWith("Total", StringComparison.OrdinalIgnoreCase))
        Console.WriteLine($"Total line: {line.Text}");
}
Imports IronOcr

' IronOCR: build structured extraction from OcrResult
Dim result = New IronTesseract().Read("receipt.jpg")

' Use word positions to locate fields in known layout areas
Dim totalRegion = New CropRectangle(300, 500, 250, 60)
Using input As New OcrInput()
    input.LoadImage("receipt.jpg", totalRegion)
    Dim totalText = New IronTesseract().Read(input).Text
End Using

' Line-based extraction for sequential field parsing
For Each line In result.Lines
    If line.Text.StartsWith("Total", StringComparison.OrdinalIgnoreCase) Then
        Console.WriteLine($"Total line: {line.Text}")
    End If
Next
$vbLabelText   $csharpLabel

Düşük Kaliteli Belge Görüntülerini Ön İşleme

Klippa'nın bulut işleme, tanıma öncesinde sunucu tarafında görüntü iyileştirme uygular. Bu adımı asla görmezsiniz.IronOCR ile aynı yetenekler açık ve kontrol edilebilir. Telefon fotoğrafları, düşük çözünürlüklü taramalar veya eğimli alımlar olarak gelen belgeler, tanımadan önce ön işlemeye ihtiyaç duyar. IronOCR'un otomatik ön işleme, çoğu durumu karşılar ve açık filtre API'si geri kalanları yönetir. görüntü kalitesi düzeltme kılavuzu, tam filtre setini kapsar.

// IronOCR: explicit preprocessing for phone-captured receipts
using var input = new OcrInput();
input.LoadImage("phone-photo-receipt.jpg");
input.Deskew();          // correct the camera angle
input.DeNoise();         // remove compression artifacts
input.Contrast();        // boost faded ink
input.EnhanceResolution(300); // normalize DPI

var result = new IronTesseract().Read(input);
// IronOCR: explicit preprocessing for phone-captured receipts
using var input = new OcrInput();
input.LoadImage("phone-photo-receipt.jpg");
input.Deskew();          // correct the camera angle
input.DeNoise();         // remove compression artifacts
input.Contrast();        // boost faded ink
input.EnhanceResolution(300); // normalize DPI

var result = new IronTesseract().Read(input);
Imports IronOcr

Dim result As OcrResult
Using input As New OcrInput()
    input.LoadImage("phone-photo-receipt.jpg")
    input.Deskew()          ' correct the camera angle
    input.DeNoise()         ' remove compression artifacts
    input.Contrast()        ' boost faded ink
    input.EnhanceResolution(300) ' normalize DPI

    result = New IronTesseract().Read(input)
End Using
$vbLabelText   $csharpLabel

HTTP İstemcisini Yerel Çağrılarla Değiştirme

Klippa entegrasyonu zorunlu olarak eşzamansızdır — ağ üzerinden REST çağrıları 500ms ile 2000ms arasında sürer.IronOCR varsayılan olarak eşzamanlı çalışır ve tek bir görüntü OCR çağrısı, yerel olarak 100-400ms içinde tamamlanır. ASP.NET Core denetleyicileri için eşzamansız sarmalayıcı mevcut, böylece istek iş parçacıklarını engellememelidir, ancak programlama modeli daha basittir. HttpClient, MultipartFormDataContent ve JSON deserializasyonunu kaldırın. IronTesseract.Read() ile değiştirin. Tekrar deneme mantığı yok olur çünkü başarısız olacak bir ağ yoktur.

Kimlik Belgelerini Yönetme

Klippa'nın kimlik belgesi ayrıştırması, önceden yapılandırılmış pasaport ve kimlik alanlarını döndürür. IronOCR'un eşdeğeri, MRZ (Makine Okunabilir Bölge) veya belirli belge alanlarını hedefleyen bölge tabanlı OCR ile birlikte ham metin çıkarımıdır. pasaport OCR kılavuzu, MRZ çıkarım kalıplarını doğrudan kapsar.

Ek IronOCR Yetenekleri

Yukarıdaki karşılaştırma noktalarının ötesinde, IronOCR, Klippa'nın uzman kapsamının ötesine geçen yetenekler sağlar:

  • OCR sırasında barkod okuma: Gömülü kodlarla fatura işlemede duşünülen barkod ve QR kod değerlerini, metin çıkarımıyla aynı geçişte çıkarın.
  • MICR / çek okuma: Çeklerden ve bankacılık belgelerinden MICR yazı tipi karakterlerini çıkarın — Klippa'nın uzmanlık modeli tarafından kapsanmayan bir finansal belge kullanım durumu.
  • Tablo çıkarma: Yapılandırılmış belgelerden — finansal tablolar, satın alma emirleri, envanter listeleri — koordinat farkındalığı olan sonuç nesneleri ile tablo verilerini çıkarın.
  • El yazısı tanıma: Baskılı metinlerle birlikte el yazısı formları, anotasyonlar ve imzaları işleyin.
  • İlerleme takibi: Çok sayfalı belgeler için OCR ilerlemesini izleyin, kullanıcıya yönelik durum göstergeleriyle uzun süren toplu işler için faydalıdır.

.NET Uyumluluğu ve Geleceğe Hazırlık

IronOCR, Windows x64/x86, Linux x64, macOS, Docker, AWS Lambda ve Azure App Service üzerinde tam destekle .NET 8 ve .NET 9'u hedefler. Tek bir NuGet paketi, platforma özgü yapılandırma olmadan çapraz platform ikili dosyalar sunar. Kütüphane, daha eski hedef çerçeveler üzerindeki projeler için .NET Standard 2.0'a uyumluluk sürdürüyor ve kademeli geçiş yollarını sağlar. .NET 10'un 2026 sonunda planlanmasıyla, Iron Software, .NET sürüm döngüsünü izleyen tutarlı bir sürüm kadansını sürdürmektedir. Klippa, bir REST API olarak, tanım gereği platformdan bağımsızdır — ancak ayrıca ağ kullanılabilirliğine ve ekibinizin kontrol etmediği Klippa'nın kendi altyapı yol haritasına tamamen bağımlıdır.

Sonuç

Klippa ve IronOCR farklı problemlere yöneliktir. Klippa, Avrupa bulut altyapısında barındırılan fişlerden ve faturalarından önceden ayrıştırılmış masraf alanları sunan bir belge zekası hizmetidir. Belgeleriniz eğitimli kategorilerine uyduğu ve veri işleme gereksinimleriniz dış işleme izin verdiği sürece özel bir entegrasyon problemini hızlıca çözer.

Sınırlamalar yapısaldır, tesadüfi değildir. Veri ikamet gereksinimlerini karşılayacak yerinde çözüm yoktur. Masraf ve kimlik kategorisi dışındaki belgeler için genel bir OCR modu yoktur. NuGet SDK yok — her entegrasyon ekibinizin oluşturup sürdüreceği özel bir REST istemcisidir. Fiyatlandırma belirsizdir, abonelik temellidir ve üretim ölçeğinde sınırsız maliyet maruziyeti oluşturan bir şekilde belge hacmi ile ölçeklenir.

IronOCR, bu yapısal noktaların her birine doğrudan yanıt verir. Yerel işlem, verilerin ikamet etme problemini ortadan kaldırır. Genel amaçlı motor, kategori kısıtlamaları olmadan herhangi bir belge türünü işler. NuGet paketi, özel HTTP istemcisini üç satır kurulumla değiştirir. Hacimden bağımsız olarak, $999 üzerindeki süresiz lisanslama, belge başına maliyet birikimini ortadan kaldırır. Takas, yapılandırılmış alan çıkarımı — satıcı adı, fatura toplamı, KDV miktarı — kodla yazdığınız çıkarım gerektirir, doğrudan Klippa'nın döndürdüğü alanlar yerine.

Pratik soru, uygulamanızın önceden oluşturulmuş bir masraf ayrıştırma hizmetine mi yoksa her belgeyi yerel olarak işleyen bir OCR motoruna mı ihtiyaç duyduğudur. Sıkı veri işleme gereksinimleri olan ekipler, fişler ve faturalar dışındaki belge türleri veya anlamlı belge hacmi için,IronOCR daha dayanıklı bir temeldir.

Lütfen dikkate alınKlippa ve Tesseract, ilgili sahiplerinin tescilli markalarıdır. Bu site, Google veya Klippa ile münasebet halinde değildir, onaylanmamıştır veya desteklenmemektedir. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.

Sıkça Sorulan Sorular

Klippa OCR API nedir?

Klippa OCR API, geliştiriciler ve işletmeler tarafından görüntülerden ve belgelerden metin çıkarmak için kullanılan bir OCR çözümüdür. .NET uygulama geliştirme için IronOCR ile birlikte değerlendirilen birkaç OCR seçeneğinden biridir.

.NET geliştiricileri için IronOCR, Klippa OCR API ile nasıl karşılaştırılır?

IronOCR, IronTesseract'ı temel motoru olarak kullanan bir NuGet yerli .NET OCR kütüphanesidir. Klippa OCR API'ye kıyasla, daha basit bir dağıtım (herhangi bir SDK yükleyici yok), sabit fiyatlandırma ve COM ara yüzde ya da bulut bağımlılıkları olmadan temiz bir C# API sunar.

IronOCR, Klippa OCR API'den daha mı kolay kurulabilir?

IronOCR, tek bir NuGet paketi aracılığıyla yüklenir. SDK kurulumları, kopyalamak için lisans dosyaları, kaydedilecek COM bileşenleri veya yönetilecek ayrı çalışma zamanı ikili dosyaları yoktur. Tüm OCR motoru paket içinde yer alır.

Klippa OCR API ile IronOCR arasında hangi doğruluk farkları vardır?

IronOCR, standart iş belgeleri, faturalar, makbuzlar ve taranmış formlar için yüksek tanıma doğruluğu sağlar. Çok kötü durumda olan belgeler ya da nadir yazılar için ise doğruluk, kaynak kalitesine göre değişiklik gösterebilir. IronOCR, düşük kaliteli girişlerde tanımayı geliştirmek için görüntü ön işleme filtreleri içerir.

IronOCR, PDF metin çıkarma desteği sunuyor mu?

Evet. IronOCR, tek bir çağrıda hem yerel PDF'lerden hem de taranmış PDF görüntülerinden metin çıkarır. Çok sayfalı TIFF dosyaları, görüntüler ve akıntılar da desteklenir. Taranmış PDF'ler için, OCR sayfa bazında uygulanır ve her sayfa için sonuç nesneleri sağlanır.

Klippa OCR API lisanslaması ile IronOCR'yi nasıl karşılaştırılır?

IronOCR, sayfa veya tarama başına ücret içermeyen sabit oranlı bir süresiz lisans kullanır. Yüksek belge hacmi işleyen kuruluşlar, hacme rağmen aynı lisans maliyetini öder. Ayrıntılar ve hacim fiyatlandırması IronOCR lisans sayfasında mevcuttur.

IronOCR hangi dilleri destekliyor?

IronOCR, ayrı NuGet dil paketleri aracılığıyla 127 dili destekler. Bir dil eklemek için tek bir 'dotnet add package IronOcr.Languages.{Language}' komutu gerekir. Manuel dosya yerleştirme veya yol yapılandırması gerekmez.

.NET projesine IronOCR'yi nasıl kurarım?

NuGet üzerinden kurun: 'Install-Package IronOcr' Package Manager Console'da veya 'dotnet add package IronOcr' CLI'de. Ek dil paketleri aynı şekilde yüklenir. Yerel SDK kurucusu gerekmez.

IronOCR, Klippa'dan farklı olarak Docker ve konteynerize dağıtımlar için uygun mu?

Evet. IronOCR, NuGet paketi aracılığıyla Docker konteynerlerinde çalışır. Lisans anahtarı, bir ortam değişkeni aracılığıyla ayarlanır. Lisans dosyaları, SDK yolları veya OCR motoru için hacimlerin bağlanmasına gerek yoktur.

Klippa karşısında IronOCR'yi satın almadan önce deneyebilir miyim?

Evet. IronOCR deneme modu, belgeleri işler ve çıkış üzerine bir filigran eklemeli OCR sonuçları döndürür. Lisans satın almadan önce kendi belgeleriniz üzerinde doğruluğu kontrol edebilirsiniz.

IronOCR, metin çıkarma yanında barkod okuma desteği sunar mı?

IronOCR, metin çıkarma ve OCR'ye odaklanır. Barkod okuma için Iron Software, eşlik eden bir kütüphane olan IronBarcode'u sağlar. Her ikisi de ayrı ayrı veya Iron Suite paketi olarak mevcuttur.

Klippa OCR API'dan IronOCR'ye geçiş yapmak kolay mı?

Klippa OCR API'dan IronOCR'ye geçiş genellikle başlangıç dizilerini IronTesseract oluşturma ile değiştirmeyi, COM yaşam döngüsü yönetimini kaldırmayı ve API çağrılarını güncellemeyi içerir. Çoğu geçişler, kod karmaşıklığını önemli ölçüde azaltır.

Curtis Chau
Teknik Yazar

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ı...

Daha Fazla Oku

Iron Destek Ekibi

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