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

ABBYY FineReader Engine ile IronOCR: .NET OCR

ABBYY FineReader Engine yillik $10.000 veya daha fazla maliyete sahip olup, SDK erişimi elde etmeden once 4-12 haftalik bir satis sureci gerektirir ve çok bileşenli bir yukleyici araciligiyla kurulur —NuGetyok, dotnet add package yok, ayni gun degerlendirme yok. Standart iş belgesi işleme, fatura çıkarımı veya taranmış form dijitalleştirmesi gerçekleştiren ekipler için ABBYY veIronOCRarasındaki doğruluk farkı yüzde puanının kesirleriyle ölçülür. Fiyat farkı üç yıl içinde on binlerce dolarla ölçülür.

Bu karşılaştırma, ABBYY'nin kıyaslama doğruluğunun bu maliyeti nerede haklı çıkardığını, nerede çıkarmadığını inceler.

ABBYY FineReader Engine'i Anlamak

ABBYY FineReader Engine SDK, ABBYY'nin portföyündeki geliştiriciye yönelik üründür — FineReader PDF'den (masaüstü son kullanıcı uygulaması) ve FineReader Server'dan (toplu otomasyon platformu) farklıdır. SDK, C++, Java ve .NET için programlanabilir OCR API'leri açar. ABBYY, 1989'dan beri OCR teknolojisi geliştirmiştir ve bu üç on yıllık yatırım, tanıma motorunun bozuk belgeleri, karmaşık yazı türlerini ve nadir dilleri ele almasında kendini gösterir.

FineReader Engine SDK'nın Anahtar Mimari Özellikleri:

  • Satış kontrollü edinim: Kendinize hizmet satın alma yolu yoktur. Erişim, bir soru formu, yeterlilik araması, teknik danışma, özel teklif ve sözleşme müzakeresi gerektirir. Sorgudan geliştirme erişimine kadar tipik zaman çizelgesi: 4-12 hafta.
  • SDK yükleyici,NuGetdeğil: SDK, belirli dizin yollarına ikili dosyalar, dil verileri, çalışma zamanı dosyaları ve lisans dosyaları yerleştiren bir Windows yükleyici yoluyla dağıtılır. Paket yönetimi yerine manuel montaj referansları.
  • .NET için COM uyumluluk katmanı: .NET entegrasyonu, C# modern konvansiyonları öncesinde yaşam döngüsü yönetim kalıplarını (açıkça Yarat, Yükle, İşle, Kapat sıraları) taşıyan bir COM uyumluluk katmanı üzerinden çalışır.
  • Dosya tabanli lisans yonetimi: Lisanslar, calisma zamaninda belirli yollarda disk uzerinde bulunmasi gereken .lic ve .key dosyalari olarak bulunur. Bazi yayimlama modelleri, ag portu konfigürasyonuna sahip ozel bir lisans sunucusu gerektirir.
  • 190+ dil desteği: ABBYY'nin dil kapsamı, düşük kaynaklı diller ve tarihsel yazılar dahil çoğu alternatifi aşmaktadır.
  • Metnin ötesinde belge anlama: FineReader Engine, belge sınıflandırma, akıllı form işleme ve el yazısı (ICR) için Akıllı Karakter Tanıma içerir — Tesseract tabanlı çözümlerde bulunmayan yetenekler.

Motor Başlatma ve Yaşam Döngüsü

ABBYY, herhangi bir tanıma çalışmasına başlamadan önce açık bir başlatma dizisi gerektirir. Motor, geçerli lisans dosyaları ile belirli bir SDK yolundan yüklenmeli, bir tanıma profili seçilmeli ve her belge kabı işlendikten sonra açıkça kapatılmalıdır, aksi takdirde bellek sızıntıları oluşabilir:

using FREngine;

public class AbbyyOcrService : IDisposable
{
    private IEngine _engine;

    public AbbyyOcrService(string sdkPath, string licensePath)
    {
        // Step 1: Create engine loader
        var loader = new EngineLoader();

        // Step 2: Load engine — fails if license files are missing or expired
        _engine = loader.GetEngineObject(sdkPath, licensePath);

        // Step 3: Select recognition profile
        _engine.LoadPredefinedProfile("DocumentConversion_Accuracy");

        // Step 4: Configure language data (each language adds deployment complexity)
        var langParams = _engine.CreateLanguageParams();
        langParams.Languages.Add("English");
    }

    public string ExtractText(string imagePath)
    {
        var document = _engine.CreateFRDocument();

        try
        {
            document.AddImageFile(imagePath, null, null);
            document.Process(null);
            return document.PlainText.Text;
        }
        finally
        {
            // Must close — skipping this causes memory leaks
            document.Close();
        }
    }

    public void Dispose()
    {
        _engine = null;
    }
}
using FREngine;

public class AbbyyOcrService : IDisposable
{
    private IEngine _engine;

    public AbbyyOcrService(string sdkPath, string licensePath)
    {
        // Step 1: Create engine loader
        var loader = new EngineLoader();

        // Step 2: Load engine — fails if license files are missing or expired
        _engine = loader.GetEngineObject(sdkPath, licensePath);

        // Step 3: Select recognition profile
        _engine.LoadPredefinedProfile("DocumentConversion_Accuracy");

        // Step 4: Configure language data (each language adds deployment complexity)
        var langParams = _engine.CreateLanguageParams();
        langParams.Languages.Add("English");
    }

    public string ExtractText(string imagePath)
    {
        var document = _engine.CreateFRDocument();

        try
        {
            document.AddImageFile(imagePath, null, null);
            document.Process(null);
            return document.PlainText.Text;
        }
        finally
        {
            // Must close — skipping this causes memory leaks
            document.Close();
        }
    }

    public void Dispose()
    {
        _engine = null;
    }
}
Imports FREngine

Public Class AbbyyOcrService
    Implements IDisposable

    Private _engine As IEngine

    Public Sub New(sdkPath As String, licensePath As String)
        ' Step 1: Create engine loader
        Dim loader = New EngineLoader()

        ' Step 2: Load engine — fails if license files are missing or expired
        _engine = loader.GetEngineObject(sdkPath, licensePath)

        ' Step 3: Select recognition profile
        _engine.LoadPredefinedProfile("DocumentConversion_Accuracy")

        ' Step 4: Configure language data (each language adds deployment complexity)
        Dim langParams = _engine.CreateLanguageParams()
        langParams.Languages.Add("English")
    End Sub

    Public Function ExtractText(imagePath As String) As String
        Dim document = _engine.CreateFRDocument()

        Try
            document.AddImageFile(imagePath, Nothing, Nothing)
            document.Process(Nothing)
            Return document.PlainText.Text
        Finally
            ' Must close — skipping this causes memory leaks
            document.Close()
        End Try
    End Function

    Public Sub Dispose() Implements IDisposable.Dispose
        _engine = Nothing
    End Sub
End Class
$vbLabelText   $csharpLabel

Bu dizileme, tek bir OCR çalışması başlamadan önce gerçekleştirilir. loader.GetEngineObject() cagri, lisans dosyalarini dogrular, calisma zamani ikili dosyalarini SDK yolundan yukler ve tanima motorunu ilklendirir. Yeni bir yayim sunucusunda bu yollardan herhangi biri yanlissa, cagri calisma zamaninda basarisiz olur.

IronOCR'u Anlamak

IronOCR, optimize edilmiş bir Tesseract 5 LSTM motoru üzerinde inşa edilmiş, otomatik ön işleme, yerel PDF desteği ve tek birNuGetpaketi dağıtım modeli sunan ticari bir .NET OCR kütüphanesidir. Araya giren işlemler oluşturmadan, tessdata dizinlerini yönetmeden veya kurumsal satın alımlarla uğraşmadan üretime hazır OCR'a ihtiyaç duyan .NET geliştiricilerini hedefler.

Anahtar özellikler:

  • TekNuGetpaket: dotnet add package IronOcr, OCR motoru, Ingilizce icin dil verileri ve tüm bagimliliklar dahil olmak üzere tüm kutuphaneyi kurar. Yükleyici yok, manuel montaj referansları, çalışma zamanı yol yapılandırması yok.
  • Otomatik ön işleme: Düşük kaliteli girdilerde otomatik çalışan masa eğriliği düzeltme, gürültü azaltma, kontrast artırma, ikileştirme ve çözünürlük ölçekleme işlemleri. Gerektiğinde açık kontrol mevcuttur.
  • Yerel PDF girişi: PDF dosyaları doğrudan dönüştürme veya harici kütüphaneler olmadan yüklenir. Parola korumalı PDF'ler tek bir parametre ile desteklenir.
  • String tabanlı lisanslama: Bir lisans anahtarı kodda veya ortam değişkeninden atanır. Dağıtılması gereken lisans dosyaları, yapılandırılacak lisans sunucusu yok.
  • Tek paketten çapraz platform: Windows, Linux, macOS, Docker, Azure ve AWS hepsi aynıNuGetreferansından çalışır.
  • Tasarim itibariyle es zamanli calisma guvenligi: Ek konfigürasyon gerektirmeksizin birden fazla IronTesseract ornegi ayni anda calisir.
  • 125+ dilNuGetaraciligiyla: Dil paketleri, herhangi bir bagimlilik gibi paket yoneticisi tarafindan cozumlenen ayriNuGetpaketleri (IronOcr.Languages.French, vb.) olarak yuklenir.

Özellik Karşılaştırması

Özellik ABBYY FineReader Engine IronOCR
OCR Doğruluğu Kıyaslama lideri Standart belgelerde %95-99
Dil Desteği 190+ 125+
Kurulum SDK yükleyici dotnet add package IronOcr
Lisans Modeli Enterprise (satış kontrollü) Kendinize hizmet, $749-$2,999 süresiz
PDF Desteği Evet Evet (yerel)
Aranabilir PDF Çıktısı Evet Evet
Platformlar Windows, Linux, macOS Windows, Linux, macOS, Docker, Azure, AWS

Detayli Özellik Karsilastirmasi

Özellik ABBYY FineReader Engine IronOCR
Edinim
Satın alma yolu Satışla iletişime geçmek gerekiyor Kendinize hizmet NuGet
İlk OCR sonucuna kadar geçen süre 4-12 hafta (satın alma) Dakikalar
Ücretsiz deneme Satış katılımı gerektirir Ücretsiz indirme
Fiyatlandırma
Geliştirme lisansı $4.999 - $15.000+ (tahmini) $749 - $2.999 (süresiz)
Çalışma zamanı ücretleri Sunucu başına veya sayfa başına Dahil
Yıllık bakım Lisans maliyetinin %20-25'i Opsiyonel
Entegrasyon
Paket yönetimi SDK yükleyici (NuGet değil) NuGet
.NET entegrasyonu COM uyumluluk Yerel .NET
Lisans yönetimi Dosya tabanlı (.lic + .key dosyaları) String anahtar
Lisans sunucusu Bazı modeller için gereklidir Gerekli değil
Bir resmi OCR'a çevirmek için satırlar 15-25 satır 1-3 satır
Tanıma
OCR doğruluğu Kıyaslama lideri Standart belgelerde %95-99
Diller 190+ 125+
El yazısı (ICR) Evet Sınırlı
Belge sınıflandırma Evet Hayır
Form tanıma Evet (şablonlar) Temel
Barkod okuma Evet Evet (yerleşik)
Tablo çıkarımı Evet Evet
PDF
PDF girdisi Evet Evet (yerel)
Parola korumalı PDF Evet Evet
Aranabilir PDF çıktısı Evet Evet
PDF/A çıktısı Evet Hayır
Önişleme
Otomatik önişleme Profil tabanlı Evet (otomatik + manuel kontrol)
Yamultmayı düzelt Evet Evet
Gürültü giderme Evet Evet
Çözünürlük iyileştirme Evet Evet
Dağıtım
Çok platformlu Windows, Linux, macOS Windows, Linux, macOS
Docker Karmaşık (çalışma zamanı dosyaları) Standart
Azure dağıtımı Destekleniyor (yerel model) Doğrudan
İzole ortamlar Evet Evet

Doğruluk vs. Maliyet

ABBYY veIronOCRkarşılaştırmasının merkezi sorusu: ABBYY'nin doğruluk avantajı, toplam sahip olma maliyetinin 10-20 kat daha yüksek olduğunu haklı çıkartır mı?

ABBYY Yaklaşımı

ABBYY'nin tanıma motoru, en zor belge türlerinde üst düzey doğruluk sunar: bozulmuş tarihi taramalar, karmaşık yazı karakterleri içeren belgeler, el yazısı, karmaşık form düzenleri ve fiziksel durumu kötü belgeler. DocumentConversion_Accuracy profili, ABBYY'nin tam tanima hattini uygular:

using FREngine;

// ABBYY: Load high-accuracy profile for difficult documents
var loader = new EngineLoader();
var engine = loader.GetEngineObject(
    @"C:\Program Files\ABBYY SDK\FineReader Engine\Bin",
    @"C:\Program Files\ABBYY SDK\License"
);
engine.LoadPredefinedProfile("DocumentConversion_Accuracy");

var document = engine.CreateFRDocument();
try
{
    document.AddImageFile("difficult-scan.jpg", null, null);
    document.Process(null);
    var text = document.PlainText.Text;
}
finally
{
    document.Close();
}
using FREngine;

// ABBYY: Load high-accuracy profile for difficult documents
var loader = new EngineLoader();
var engine = loader.GetEngineObject(
    @"C:\Program Files\ABBYY SDK\FineReader Engine\Bin",
    @"C:\Program Files\ABBYY SDK\License"
);
engine.LoadPredefinedProfile("DocumentConversion_Accuracy");

var document = engine.CreateFRDocument();
try
{
    document.AddImageFile("difficult-scan.jpg", null, null);
    document.Process(null);
    var text = document.PlainText.Text;
}
finally
{
    document.Close();
}
Imports FREngine

' ABBYY: Load high-accuracy profile for difficult documents
Dim loader As New EngineLoader()
Dim engine = loader.GetEngineObject(
    "C:\Program Files\ABBYY SDK\FineReader Engine\Bin",
    "C:\Program Files\ABBYY SDK\License"
)
engine.LoadPredefinedProfile("DocumentConversion_Accuracy")

Dim document = engine.CreateFRDocument()
Try
    document.AddImageFile("difficult-scan.jpg", Nothing, Nothing)
    document.Process(Nothing)
    Dim text = document.PlainText.Text
Finally
    document.Close()
End Try
$vbLabelText   $csharpLabel

El yazısı notlara sahip tıbbi kayıtlar, on yıllarca fiziki yıpranmış yasal belgeler veya mikrofilmden dijitalleştirilmiş devlet arşivleri için, ABBYY'nin modern Tesseract tabanlı çözümler üzerindeki doğruluk avantajı ölçülebilir ve önemlidir.

IronOCR Yaklaşımı

IronOCR, otomatik önişleme sayesinde standart iş belgelerinde %95-99 doğruluk elde eder — faturalar, makbuzlar, sözleşmeler, formlar, taranmış raporlar — Tesseract 5 LSTM motoru görüntüyü görmeden önce en yaygın doğruluk katillerini düzeltir:

using IronOcr;

// IronOCR: Otomatik önişleme handles most real-world document quality issues
var ocr = new IronTesseract();
var result = ocr.Read("invoice-scan.jpg");
Console.WriteLine(result.Text);
Console.WriteLine($"Confidence: {result.Confidence}%");
using IronOcr;

// IronOCR: Otomatik önişleme handles most real-world document quality issues
var ocr = new IronTesseract();
var result = ocr.Read("invoice-scan.jpg");
Console.WriteLine(result.Text);
Console.WriteLine($"Confidence: {result.Confidence}%");
Imports IronOcr

' IronOCR: Otomatik önişleme handles most real-world document quality issues
Dim ocr As New IronTesseract()
Dim result = ocr.Read("invoice-scan.jpg")
Console.WriteLine(result.Text)
Console.WriteLine($"Confidence: {result.Confidence}%")
$vbLabelText   $csharpLabel

Girdi kalitesi gerçekten kötüyse, açık önişleme filtreleri tam kontrol sağlar:

using var input = new OcrInput();
input.LoadImage("low-quality-scan.jpg");
input.Deskew();           // Correct rotation up to several degrees
input.DeNoise();          // Remove scanner noise and artifacts
input.Contrast();         // Enhance text/background separation
input.Binarize();         // Convert to optimal black/white
input.EnhanceResolution(300);  // Scale to 300 DPI for engine

var result = new IronTesseract().Read(input);
using var input = new OcrInput();
input.LoadImage("low-quality-scan.jpg");
input.Deskew();           // Correct rotation up to several degrees
input.DeNoise();          // Remove scanner noise and artifacts
input.Contrast();         // Enhance text/background separation
input.Binarize();         // Convert to optimal black/white
input.EnhanceResolution(300);  // Scale to 300 DPI for engine

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

Using input As New OcrInput()
    input.LoadImage("low-quality-scan.jpg")
    input.Deskew()           ' Correct rotation up to several degrees
    input.DeNoise()          ' Remove scanner noise and artifacts
    input.Contrast()         ' Enhance text/background separation
    input.Binarize()         ' Convert to optimal black/white
    input.EnhanceResolution(300)  ' Scale to 300 DPI for engine

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

görüntü kalitesi düzeltme rehberi, her filtreyi ve tanıma doğruluğu üzerindeki etkilerini kapsar. İş belgeleri iş akışlarının %99'unda — faturalar, sipariş emirleri, sözleşmeler, kimlik belgeleri, basılmış formlar — IronOCR'un önişlenmiş Tesseract 5 motoru, pratikte ABBYY'den ayırt edilemez doğruluk üretir. Kalan %1 dejenere el yazısı, tarihi belgeler veya ABBYY'nin lider konumunu anlamlı kılan niş yazı kombinasyonlarını içerir.

Kurulum Karmaşıklığı: SDK Yükleyici vs. NuGet

ABBYY veIronOCRarasındaki kurulum farkı küçük bir rahatsızlık değildir. Bir geliştiricinin OCR'ı öğleden sonra değerlendirebilip değerlendiremeyeceğini veya satın alma döngüsünün geçmesini beklemesi gerekip gerekmediğini belirler.

ABBYY Yaklaşımı

ABBYY FineReader Engine yüklemesi, lisanslama onaylandıktan sonra bu sırayı izler:

ABBYY SDK yükleyicisini çalıştırdıktan sonra yükleme yapısı:
C:\Program Files\ABBYY SDK\
├── FineReader Engine\
│   ├── Bin\          ← SDK ikili dosyaları (manuel montaj referansı gerekli)
│   ├── Inc\          ← Başlık dosyaları
│   ├── Lib\          ← Kütüphaneler
│   └── License\      ← Lisans dosyaları (ABBYY.lic + ABBYY.key)
└── Runtime\
    ├── Languages\    ← Dil veri dosyaları (büyük, dağıtılmalı)
    └── Dictionaries\ ← Sözlük dosyaları (dağıtılmalı)

Her dağıtım hedefi — geliştirici çalışma istasyonu, yapı sunucusu, öncü ortam, üretim sunucusu — yönetici ayrıcalıklarıyla bu yükleyicinin çalışmasını gerektirir. Lisans dosyaları her makinede beklenen yollarda bulunmalıdır.Dockerkonteynerlerinde bu, SDK'nın özel bir temel görüntüye eklenmesi veya bir hacim olarak monte edilmesi anlamına gelir, her ikisi de önemli altyapı çalışması gerektirir.

Çalışma zamanında lisans doğrulaması dosya varlığını ve geçerliliğini kontrol eder. .lic dosyasi eksikse, loader.GetEngineObject() cagri başlangicta hata verir. Lisans suresi dolmussa, ayni basarisizlik uretim ortaminda meydana gelir.

IronOCR Yaklaşımı

dotnet add package IronOcr
dotnet add package IronOcr
SHELL

Bu komut her şeyi halleder: OCR motoru, İngilizce dil verileri ve geçerli platform için tüm yerel ikili bağımlılıklar. Çapraz platform hedefleri aynı pakette yer alır. BirDockerdağıtımı özel temel görüntü gerektirmez:

FROM mcr.microsoft.com/dotnet/aspnet:8.0
RUN apt-get update && apt-get install -y libgdiplus
COPY --from=build /app/publish /app
WORKDIR /app
ENTRYPOINT ["dotnet", "YourApp.dll"]

Lisans aktivasyonu başlangıç kodunda tek satırdır:

IronOcr.License.LicenseKey = Environment.GetEnvironmentVariable("IRONOCR_LICENSE");
IronOcr.License.LicenseKey = Environment.GetEnvironmentVariable("IRONOCR_LICENSE");
Imports System

IronOcr.License.LicenseKey = Environment.GetEnvironmentVariable("IRONOCR_LICENSE")
$vbLabelText   $csharpLabel

Kopyalanacak dosya yok, yapılandırılacak yollar yok, bakımı yapılacak lisans sunucusu yok. Tam Docker yayim kılavuzu, libgdiplus gerekliligi de dahil olmak üzere Linux konteyneri ozeliklerini kapsar. AynıNuGetpaketi Azure, AWS Lambda ve Linux sunucuları için aynı şekilde dağıtılabilir.

PDF İşleme

Her iki kütüphane de PDF belgelerini işler, ancak uygulama karmaşıklıkları önemli ölçüde farklılık gösterir.

ABBYY Yaklaşımı

ABBYY PDF işleme, PDF'nin ayri bir CreatePDFFile() nesnesi araciligiyla acilmasini, sayfalarin yinelemesini, her sayfanin bir doküman konteynerine eklenmesini, tanima gecisinin yapilmasini ve sonra ayarlanmis ihrac parametreleri ile ihracin yapilmasini gerektirir:

using FREngine;

public string ProcessPdf(string pdfPath)
{
    var document = _engine.CreateFRDocument();

    try
    {
        // Open PDF through a separate file object
        var pdfFile = _engine.CreatePDFFile();
        pdfFile.Open(pdfPath, null, null);

        // Add each page individually
        for (int i = 0; i < pdfFile.PageCount; i++)
        {
            document.AddImageFile(
                pdfPath,
                null,
                _engine.CreatePDFExportParams()
            );
        }

        document.Process(null);
        return document.PlainText.Text;
    }
    finally
    {
        document.Close();
    }
}

public void CreateSearchablePdf(string inputPath, string outputPath)
{
    var document = _engine.CreateFRDocument();

    try
    {
        document.AddImageFile(inputPath, null, null);
        document.Process(null);

        // Configure export parameters before export
        var exportParams = _engine.CreatePDFExportParams();
        exportParams.Scenario = PDFExportScenarioEnum.PDES_Balanced;

        document.Export(outputPath, FileExportFormatEnum.FEF_PDF, exportParams);
    }
    finally
    {
        document.Close();
    }
}
using FREngine;

public string ProcessPdf(string pdfPath)
{
    var document = _engine.CreateFRDocument();

    try
    {
        // Open PDF through a separate file object
        var pdfFile = _engine.CreatePDFFile();
        pdfFile.Open(pdfPath, null, null);

        // Add each page individually
        for (int i = 0; i < pdfFile.PageCount; i++)
        {
            document.AddImageFile(
                pdfPath,
                null,
                _engine.CreatePDFExportParams()
            );
        }

        document.Process(null);
        return document.PlainText.Text;
    }
    finally
    {
        document.Close();
    }
}

public void CreateSearchablePdf(string inputPath, string outputPath)
{
    var document = _engine.CreateFRDocument();

    try
    {
        document.AddImageFile(inputPath, null, null);
        document.Process(null);

        // Configure export parameters before export
        var exportParams = _engine.CreatePDFExportParams();
        exportParams.Scenario = PDFExportScenarioEnum.PDES_Balanced;

        document.Export(outputPath, FileExportFormatEnum.FEF_PDF, exportParams);
    }
    finally
    {
        document.Close();
    }
}
Imports FREngine

Public Function ProcessPdf(ByVal pdfPath As String) As String
    Dim document = _engine.CreateFRDocument()

    Try
        ' Open PDF through a separate file object
        Dim pdfFile = _engine.CreatePDFFile()
        pdfFile.Open(pdfPath, Nothing, Nothing)

        ' Add each page individually
        For i As Integer = 0 To pdfFile.PageCount - 1
            document.AddImageFile(pdfPath, Nothing, _engine.CreatePDFExportParams())
        Next

        document.Process(Nothing)
        Return document.PlainText.Text
    Finally
        document.Close()
    End Try
End Function

Public Sub CreateSearchablePdf(ByVal inputPath As String, ByVal outputPath As String)
    Dim document = _engine.CreateFRDocument()

    Try
        document.AddImageFile(inputPath, Nothing, Nothing)
        document.Process(Nothing)

        ' Configure export parameters before export
        Dim exportParams = _engine.CreatePDFExportParams()
        exportParams.Scenario = PDFExportScenarioEnum.PDES_Balanced

        document.Export(outputPath, FileExportFormatEnum.FEF_PDF, exportParams)
    Finally
        document.Close()
    End Try
End Sub
$vbLabelText   $csharpLabel

IronOCR Yaklaşımı

IronOCR, PDF girdisini yerel olarak işler — sayfa yinelemesi yok, ayrı dosya nesneleri yok, içe aktarım parametre yapılandırması yok:

using IronOcr;

// Read any PDF — multi-page handled automatically
using var input = new OcrInput();
input.LoadPdf("scanned-document.pdf");
var result = new IronTesseract().Read(input);
Console.WriteLine(result.Text);

//Parola korumalı PDF— one parameter
using var secureInput = new OcrInput();
secureInput.LoadPdf("encrypted.pdf", Password: "secret");
var secureResult = new IronTesseract().Read(secureInput);

// Create searchable PDF — one method call
var ocrResult = new IronTesseract().Read("scanned.pdf");
ocrResult.SaveAsSearchablePdf("searchable-output.pdf");
using IronOcr;

// Read any PDF — multi-page handled automatically
using var input = new OcrInput();
input.LoadPdf("scanned-document.pdf");
var result = new IronTesseract().Read(input);
Console.WriteLine(result.Text);

//Parola korumalı PDF— one parameter
using var secureInput = new OcrInput();
secureInput.LoadPdf("encrypted.pdf", Password: "secret");
var secureResult = new IronTesseract().Read(secureInput);

// Create searchable PDF — one method call
var ocrResult = new IronTesseract().Read("scanned.pdf");
ocrResult.SaveAsSearchablePdf("searchable-output.pdf");
Imports IronOcr

' Read any PDF — multi-page handled automatically
Using input As New OcrInput()
    input.LoadPdf("scanned-document.pdf")
    Dim result = New IronTesseract().Read(input)
    Console.WriteLine(result.Text)
End Using

' Parola korumalı PDF— one parameter
Using secureInput As New OcrInput()
    secureInput.LoadPdf("encrypted.pdf", Password:="secret")
    Dim secureResult = New IronTesseract().Read(secureInput)
End Using

' Create searchable PDF — one method call
Dim ocrResult = New IronTesseract().Read("scanned.pdf")
ocrResult.SaveAsSearchablePdf("searchable-output.pdf")
$vbLabelText   $csharpLabel

arama yapılabilir PDF rehberi, mevcut PDF taramalarında metin katmanını yerleştirme dahil çıktı seçeneklerini kapsar. PDF OCR örneği, sayfa başına sonuç erişimi ile çok sayfalı işlemeyi gösterir.

Fiyatlandırma Modeli

Fiyat karşılaştırması, ABBYY veIronOCRkararı için birçok geliştirme ekibi için en net hale gelir.

ABBYY Yaklaşımı

ABBYY fiyatlandırmayı halka açık yayınlamaz. Tüm rakamlar için satış katılımı gereklidir. Endüstri raporları ve geliştirici topluluk tartışmalarına dayanmaktadır:

  • Geliştirme lisansı: 4.999 $ - 15.000 $+ (tahmini)
  • Çalışma zamanı lisanslama: sunucu başına (5.000-$20.000/yıl) veya sayfa başına (sayfa başına 0.01 $ - 0.10 $, hacim bağlı)
  • Yıllık bakım: lisans maliyetinin %20-25'i/yıl
  • Profesyonel hizmetler: 200-400 $/saat

100.000 sayfa/ay işleyen orta büyüklükte bir ekip, tek bir üretim sunucusunda, üç yıllık sahip olma maliyetinin 50.000 $'ın üzerinde olduğu tahmin edilen bir durum ile karşı karşıyadır — geliştirme lisansı artı çalışma zamanı lisanslama artı yıllık bakım ücretleri.

Sayfa başına lisanslama modeli, ölçek ekonomisinde maliyet getirir. Sayfa başına 0.01 $ ile 100.000 sayfa/ay, bu 1.000 $/ay değişken maliyet veya 12.000 $/yıl, üst sınır yok.

IronOCR Yaklaşımı

IronOCR lisanslama sürekli ve yayımlanmıştır:

  • Lite: 749 $ (1 geliştirici, 1 proje)
  • Plus: 1.499 $ (3 geliştirici, 3 proje)
  • Professional: 2.999 $ (10 geliştirici, 10 proje)
  • Unlimited: 5.999 $ (sınırsız geliştirici ve proje)

Çalışma zamanı ücreti yok. Sayfa başına maliyet yok. Yıllık bakım gereksinimi yok. Yenileme döngüsü yok. $2.999'daki Professional lisansı, herhangi bir sayıda sunucuda belge işleme hacmini veya geliştirici hacmini kapsar, sürekli olarak.

Orta büyüklükteki ekip senaryosunun üç yıllık TCO karşılaştırması: ABBYY, 50.000 $'ın üzerinde tahmin edilir,IronOCRProfessional, 2.999 $. Standart iş belgelerinde onları ayıran doğruluk marjı, çoğu kullanım durumu için bu boşluğu kapatmaz.

API Eslestirme Referansi

ABBYY FineReader Engine IronOCREşdeğeri
new EngineLoader() Gerekli değil
loader.GetEngineObject(sdkPath, licensePath) new IronTesseract()
engine.LoadPredefinedProfile("...") Gerekli değil (otomatik)
engine.CreateLanguageParams() ocr.Language = OcrLanguage.English
langParams.Languages.Add("French") ocr.AddSecondaryLanguage(OcrLanguage.French)
engine.CreateFRDocument() new OcrInput()
engine.CreateFRDocumentFromImage(path, null) input.LoadImage(path) veya ocr.Read(path)
document.AddImageFile(path, null, null) input.LoadImage(path)
engine.CreatePDFFile() sonra pdfFile.Open(...) input.LoadPdf(path)
document.Process(null) ocr.Read(input)
document.PlainText.Text result.Text
frDocument.Pages[i].PlainText.Text result.Pages[i].Text
page.Layout.Blocks ile BT_Table kontrolu result.Lines, result.Words
block.GetAsTableBlock() result.Pages yapılandırilmis veri
engine.CreatePDFExportParams() Gerekli değil
document.Export(path, FEF_PDF, params) result.SaveAsSearchablePdf(path)
document.Close() using deseni (otomatik)
Disk yollarındaki lisans dosyaları IronOcr.License.LicenseKey = "key"
engine.GetLicenseInfo() IronOcr.License.IsValidLicense

Tam IronTesseract sınıf dokümantasyonu icin IronOCR API referansina bakin.

Ekiplerin ABBYY FineReader Engine'den IronOCR'a Geçmeyi Düşündüğü Durumlar

Lisans Yenileme Bir Maliyet-Fayda İncelemesi Tetiğine Basar

ABBYY için yıllık bakım faturaları genellikle her yıl orijinal lisans maliyetinin %20-25'i aralığında gelir. $10.000'lik bir geliştirme lisansı ve çalışma zamanı lisanslaması için $15.000 ödeme yapmış bir ekip için, ikinci yıl ise bir $6.250 bakım faturası getirir, daha yeni bir kod satırı yazılmadan önce. Bu yenileme anı, ekiplerin özel belge türlerindeki (genellikle standart iş belgeleri) doğruluk farkının devam eden maliyeti haklı çıkarıp çıkarmadığını sormasına neden olur. Fatura işleme, sözleşme dijitalleştirme veya taranmış form çıkarımı işleten ekipler, genellikle IronOCR'un önişlenmiş Tesseract 5 motorunun eşdeğer pratik doğruluk sağladığını bulur, maliyeti yüzlerce dolarla ölçülen bir fiyatla on binlerce dolarlık maliyet yerine.

Mevcut ABBYY İlişkisi Olmadan Yeni Proje

Sıfırdan yeni bir OCR projesi başlatan geliştirme ekipleri satın alma gerçeğiyle karşı karşıyadır: ABBYY SDK erişimi elde etmek için 4-12 hafta geçmesi demektir, bu da 4-12 haftalık geliştirme engeli anlamına gelir. Bir prototip son teslim tarihi veya bir sprint taahhüdü olan bir ekip için, o satın alma döngüsü bir seçenek değil.IronOCRbir dakika altında kurulur ve aynı gün OCR sonuçları üretir. Yeni bir ürün için OCR değerlendiren ekipler genellikle ABBYY yetenekten yoksun olduğu için değil, satış döngüsü bekleyecek zamanları olmadığı için IronOCR'u seçer.

Dağıtım Altyapısını Modernize Etmek

ABBYY'nin COM birlikte çalışabilirlik katmanı üzerine inşa edilen uygulamalar, konteynerlere, Kubernetes'e veya bulut-yerel mimarilere taşınırken sürtünme ile karşı karşıya kalır. SDK yükleyici, lisans dosyası bağımlılıkları, çalışma zamanı dizin yapısı — bunların hiçbiri, standart .NET temel görüntüsünden oluşturulmuş birDockergörüntüsüne sıralı bir şekilde uymaz. Ekipler, eski bir belge işleme uygulamasını çevreleyip bir konteyner haline getirirken, ABBYY'nin dağıtım modelinin, tam SDK kurulumunu içeren özel bir temel imaj gerektirdiğini veya lisans dosyaları için işlem karmaşıklığı getiren birim montajı gerektirdiğini fark eder. IronOCR'ninNuGetpaketi, libgdiplus eklenmesi disinda temel imajda bir değişiklik yapmadan herhangi bir konteynere yayilir.

Küçük Ekiplerde Bütçe Kısıtlamaları

Girişimler, bağımsız yazılım satıcıları ve dahili araç takımları sık sık ABBYY'nin yeteneklerini değerlendirir ve onları gerçekçi bulur – daha sonra fiyatların kurumsal düzeyde bütçe onayı gerektirdiğini keşfederler. Orta ölçekli bir şirket için bir fatura işleme aracı oluşturan bir takım, yıllık yazılım bütçeleri toplamı 20,000 $ olduğunda, 15,000 $ geliştirme lisansı artı 10,000 $/yıl çalışma zamanı ücretlerini haklı çıkaramaz. IronOCR'un 749 $ Lite lisansı veya 2,999 $ Professional lisansı, tek bir mühendisin kendi inisiyatifi ile yapabileceği bir satın alma hakkına uyar.

Büyüyen Belge Hacmi, Sayfa Başına Maliyet Yapısını Ortaya Çıkartıyor

Küçük başlayan ve büyüyen uygulamalar, sayfa başına ABBYY lisansı ile bir duvara çarpar. Bir girişim, başlama esnasında ayda 10,000 belge işliyor ve iki yıl içinde ayda 500,000'e ölçekleniyor. 0,01 $/sayfa, bu büyüme yörüngesi ABBYY maliyetlerini yönetilebilir olmaktan çıkarır ve bütçe belirleyici hale getirir. IronOCR'un sürekli lisansı, sayfa başına bileşeni içermiyor — 10,000 belge veya 10,000,000 belge işlemek aynı maliyete sahiptir.

Genel Geçiş Dusunceleri

Motor Yaşam Döngüsü Yönetiminin Değiştirilmesi

En zaman alıcı geçiş işi, ABBYY'nin açık dışa bağımlılık ve yaşam döngüsü kodunun kaldırılmasını içerir. Her loader.GetEngineObject(), LoadPredefinedProfile() ve document.Close() cagrisini siler. IronOCR'nin IronTesseract, yukleyici olmadan dogrudan ilklendirir, profil yukleme yapmaz ve standart using deseni araciligiyla otomatik temizleme yapar. Temel metin çıkarma desenleri için tipik geçiş çabası 2-4 saattir:

// Remove all of this:
// var loader = new EngineLoader();
// _engine = loader.GetEngineObject(sdkPath, licensePath);
// _engine.LoadPredefinedProfile("DocumentConversion_Accuracy");
// var document = _engine.CreateFRDocument();
// document.AddImageFile(imagePath, null, null);
// document.Process(null);
// string text = document.PlainText.Text;
// document.Close();

// Replace with:
var text = new IronTesseract().Read(imagePath).Text;
// Remove all of this:
// var loader = new EngineLoader();
// _engine = loader.GetEngineObject(sdkPath, licensePath);
// _engine.LoadPredefinedProfile("DocumentConversion_Accuracy");
// var document = _engine.CreateFRDocument();
// document.AddImageFile(imagePath, null, null);
// document.Process(null);
// string text = document.PlainText.Text;
// document.Close();

// Replace with:
var text = new IronTesseract().Read(imagePath).Text;
Imports IronOcr

Dim text As String = New IronTesseract().Read(imagePath).Text
$vbLabelText   $csharpLabel

Lisans Altyapısının Kaldırılması

Geçişten sonra, dağıtım hattı önemli ölçüde basitleşir. ABBYY SDK kurulum adimi CI/CD betiklerinden cikartilir. Lisans dosyalari (ABBYY.lic, ABBYY.key) dağıtim eserlerinden kaldirilir. Bir lisans sunucusu çalışıyorsa, o altyapı emekliye ayrılabilir.IronOCRlisans anahtarı, bir ortam değişkeninde veya gizlilik yöneticisinde bulunur — dosya, sunucu veya lisans doğrulama için ağ bağımlılığı yoktur. IronTesseract yapılandırma kılavuzu çeşitli dağıtım ortamları için ilk yapılandırma ve lisans anahtarının nasıl yerleştirileceğini kapsar.

Bölge Tabanlıdan Bölgeye Dayalı Çıkarma

ABBYY'nin bolge tabanli bolge cikarma (_engine.CreateZone(), zone.SetBounds(), zone.Type = ZoneTypeEnum.ZT_Text, page.Zones.Add(zone)) yöntemi, IronOCR'nin CropRectangle yaklasimina eslenir. Kavramlar eşdeğerdir; API daha basittir:

// ABBYY zone-based extraction required zone creation,
// bounds setting, type assignment, and page.Zones.Add()

// IronOCR: CropRectangle passed directly to LoadImage
var region = new CropRectangle(x: 0, y: 0, width: 600, height: 100);
using var input = new OcrInput();
input.LoadImage("invoice.jpg", region);
var headerText = new IronTesseract().Read(input).Text;
// ABBYY zone-based extraction required zone creation,
// bounds setting, type assignment, and page.Zones.Add()

// IronOCR: CropRectangle passed directly to LoadImage
var region = new CropRectangle(x: 0, y: 0, width: 600, height: 100);
using var input = new OcrInput();
input.LoadImage("invoice.jpg", region);
var headerText = new IronTesseract().Read(input).Text;
Imports IronOcr

' ABBYY zone-based extraction required zone creation,
' bounds setting, type assignment, and page.Zones.Add()

' IronOCR: CropRectangle passed directly to LoadImage
Dim region As New CropRectangle(x:=0, y:=0, width:=600, height:=100)
Using input As New OcrInput()
    input.LoadImage("invoice.jpg", region)
    Dim headerText As String = New IronTesseract().Read(input).Text
End Using
$vbLabelText   $csharpLabel

bolge tabanli OCR kılavuzu, faturalar ve form işlemekte yaygin olan alan cikarma desenleri icin CropRectangle kullanimi kapsar.

Yapılandırılmış Veri Erişimi

ABBYY'nin blok tabanli yapılandırilmis veri erişimi (page.Layout.Blocks, BlockTypeEnum.BT_Table, block.GetAsTableBlock()), IronOCR'de dogrudan bire bir esdegerine sahip degildir. IronOCR, her biri koordiant verileriyle result.Pages, result.Lines, result.Words ve result.Paragraphs araciligiyla yapılandırilmis sonuclar sunar. Özellikle tablo çıkarma için, sonuçları okuma kılavuzu, tablo yeniden yapılandırmasına imkan veren kelime seviyesi konumlama verilerine erişimi kapsar.

IronOCR'un Ek Yetenekleri

Yukarıdaki temel karşılaştırma alanlarının ötesinde:

  • OCR sirasinda barkod okuma: Metin tanima ile ayni geciste 1D ve 2D barkodlari tespit edip cozmek icin ocr.Configuration.ReadBarCodes = true etkinlestirin, cikarilan metin yaninda barkod degerlerini dogrudan geri doner — ayri bir barkod kutuphanesi gerekmez.
  • 125+ dilNuGetaracılığıyla: Dil paketleri standartNuGetpaketleri olarak kurulur. Birincil ve ikincil diller kodla yapılandırılır. dil indeksi, mevcut dil paketlerinin tümünü listeler.
  • Guven skoru verme: result.Confidence, tam sonuc icin tanima guveni yuzdesini doner. Kelime bazli guven result.Words araciligiyla secici doğrulama is akislari icin erisilebilir.
  • Asenkron OCR: IronTesseract, cagri ipliklerini engellemeden ASP.NET uygulamalari ve yuksek verim pipeline'lari icin asenkron işlem desenlerini destekler.
  • İlerleme takibi: Uzun süreli toplu işlemler, masaüstü uygulamalarında ilerleme çubuğu entegrasyonunu ve arka plan hizmetlerinde durum raporlamayı sağlayan ilerleme olayları yüzeye çıkarır.
  • hOCR ihraci: result.SaveAsHocrFile(), konuma-duyarli OCR sonuclarini tuketen belge yonetim sistemleri ile entegrasyon icin HOCR formatini cikarir.
  • Özel belge tanıma: Pasaport MRZ, plaka yazıları, MICR çek satırları ve el yazısı içerikler, konfigürasyon ve beklenen doğruluğu kapsayan özel kılavuzlarına sahiptir.

.NET Uyumlulugu ve Gelecek Hazirikligi

IronOCR, .NET 6, .NET 7, .NET 8 ve .NET 9'u hedefler ve her yeni .NET sürümünü aktif olarak takip eder. Ayrıca modern .NET'e henüz göç etmemiş projeler için .NETStandart2.0'ı destekler.ABBYY FineReader EngineSDK, .NET Framework'ü ve modern .NET'i kendi COM birlikte çalışabilirlik katmanı aracılığıyla destekler, ancak COM bağımlılığı, ABBYY'yi COM birlikte çalışabilirliği bulunmadığında çalışmayı engelleyen zorlu bir sınırlamadır — belirli Linux yapılandırmaları, daraltılmış dağıtımlar ve IronOCR'un doğal .NET mimarisinin sorunsuz ele aldığı Yerli AOT senaryoları. IronOCR'un tek paketli dağıtım modeli, modern .NET gelişiminin aldığı yönle uyumlu:NuGetyönetimli bağımlılıklar, konteyner dostu dağıtım ve bir kod tabanından platform bağımsızlığı.

Sonuç

ABBYY FineReader Engine, OCR'de doğruluk standartı olarak kabul edilir. Bu ifade doğrudur ve açıkça yapılmaya değer. Tanıma hatalarının klinik sonuçlar taşıdığı tıbbi belge dijitalleştirmesinde, belgenin bütünlüğünün denetime tabi olduğu yasal incelemelerde veya el yazması tarihsel belgeleri işleyen arşiv projelerinde, ABBYY'nin modern Tesseract tabanlı çözümler üzerindeki avantajı gerçektir ve önemlidir. Bu kullanım durumları vardır ve bunlar için ABBYY'nin maliyeti ve karmaşıklığı haklıdır.

Sorun şu ki, bu kullanım durumları .NET geliştiricilerinin aslında oluşturduğu OCR çalışmalarının küçük bir kısmını oluşturur. Gerçek dünya OCR projelerinin büyük kısmı — fatura işleme, sözleşme dijitalleştirme, taranmış form çıkarma, fiş ayıklama, kimlik belgesi okuma — makul şekilde temiz belgelerde basılmış metni içerir. Bu belgelerde,IronOCRotomatik ön işlemeyle %95-99 doğruluk sağlar veIronOCRile ABBYY arasında üretim çıktısında algılanabilir pratik bir fark yoktur. $47,000+ üç yıllık maliyet farkı, uygulamanın kullanıcıya asla göstermediği marjinal bir doğruluk avantajı satın alır.

Kurulum sürtünmesi eşit derecede orantısızdır. Yeni bir proje için OCR değerlendirmesi yapan bir geliştirici bir paketi kurabilmeli, on satır kodu yazabilmeli ve sonuçları görebilmelidir. ABBYY, tek bir OCR kod satırı çalışmadan önce haftalar alan bir satış katılımı gerektirir. Bu, uygulama desteği ve SLA taahhütleri olan $50,000'lık kurumsal bir sözleşme için doğru modeldir. Prototip, yineleme ve sevkiyat yapması gereken bir geliştirme takımı için yanlış modeldir.

IronOCR $749 sürekli lisansla başlamaktadır, bir komutla kurulur ve standart iş belgelerinde herhangi bir ön işleme konfigürasyonu veya lisans dosyası yönetimi gerektirmeden doğru OCR sonuçları üretir. ABBYY'nin zor belge türlerindeki belirli doğruluk avantajları katı bir gereklilik olmadığında ekipler için — ki bu çoğu ekiptir — bu, pratik bir seçimdir.

Sıkça Sorulan Sorular

ABBYY FineReader Engine nedir?

ABBYY FineReader Engine, 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çeneklerinden biridir.

IronOCR, .NET geliştiricileri için ABBYY FineReader Engine ile nasıl karşılaştırılır?

IronOCR, çekirdek motor olarak IronTesseract'ı kullanan, NuGet yerel bir .NET OCR kütüphanesidir. ABBYY FineReader Engine ile karşılaştırıldığında, daha basit dağıtım (SDK yükleyicileri yok), sabit fiyatlandırma ve COM interop veya bulut bağımlılıkları olmadan temiz bir C# API sunar.

IronOCR, ABBYY FineReader Engine'den daha kolay kurulabilir mi?

IronOCR, tek bir NuGet paketi aracılığıyla yüklenir. SDK yükleyicileri, kopyalama lisans dosyaları, COM bileşenlerini kaydetme veya yönetim gerektiren ayrı runtime ikili dosyalar yoktur. Tüm OCR motoru pakede dahil edilmiştir.

ABBYY FineReader Engine ve IronOCR arasında ne gibi doğruluk farklılıkları vardır?

IronOCR, standart iş belgeleri, faturalar, makbuzlar ve taranan formlar için yüksek tanıma doğruluğu sağlar. Çeşitli kaynak kalitesine bağlı olarak son derece kötü belgeler veya alışılmadık yazılar için doğruluk değişkenlik gösterebilir. IronOCR, düşük kaliteli girdiler üzerinde tanımayı iyileştirmek için görüntü ön işleme filtrelerini içerir.

IronOCR, PDF metin çıkarımını destekler mi?

Evet. IronOCR, hem yerel PDF'lerden hem de taranan PDF görüntülerinden metin çıkarır. Ayrıca çoklu sayfa TIFF dosyalarını, görüntüleri ve akışları destekler. Taranan PDF'ler için, sayfa başına sonuç nesneleri ile sayfa sayfa OCR uygulanır.

ABBYY FineReader Engine lisanslaması, IronOCR ile nasıl karşılaştırılır?

IronOCR, sayfa başına veya tarama başına ücretler olmaksızın sabit ücretli bir sürekli lisans kullanır. Yüksek hacimli belge işleyen kuruluşlar, hacme bakılmaksızın aynı lisans maliyetini öder. Detaylar ve hacim fiyatlandırması IronOCR lisans sayfasında yer alır.

IronOCR hangi dilleri destekler?

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

IronOCR'ü bir .NET projesine nasıl kurarım?

NuGet üzerinden kurulum: Paket Yöneticisi Konsolunda 'Install-Package IronOcr' veya CLI'da 'dotnet add package IronOcr'. Ek dil paketleri aynı şekilde kurulur. Yerel SDK yükleyici gerekmez.

IronOCR, ABBYY FineReader aksine Docker ve konteynerize edilmiştir 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. OCR motoru için lisans dosyaları, SDK yolları veya hacim montajları gerekmez.

IronOCR, ABBYY FineReader'a kıyasla satın almadan önce denenebilir mi?

Evet. IronOCR deneme modu, belgeleri işler ve çıktıda filigranla kaplanmış OCR sonuçları döndürür. Lisans satın almadan önce kendi belgelerinizde doğruluğu doğrulayabilirsiniz.

IronOCR, metin çıkarımıyla birlikte barkod okuma işlevini de destekliyor mu?

IronOCR, metin çıkarımına ve OCR'ye odaklanır. Barkod okuma için, Iron Software, tamamlayıcı bir kütüphane olarak IronBarcode sağlar. Her ikisi de bireysel olarak veya Iron Suite paketi parçası olarak mevcuttur.

ABBYY FineReader Engine'den IronOCR'a geçmek kolay mı?

ABBYY FineReader Engine'den IronOCR'a geçiş genellikle başlatma 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.

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