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

IronOCR ile AWS Textract OCR Arasında Karşılaştırma

ABBYY FineReader Engine yıllık 10.000 $ veya daha fazlaya mal olur, SDK erişimi almadan önce 4-12 haftalık satış görüşmesi gerektirir ve çok bileşenli bir yükleyici ile kurulur — NuGet yok, dotnet add package yok, aynı gün içinde değerlendirme yok. Standart iş belge işleme, fatura çıkarımı veya taranmış form dijitalleştirme inşa eden ekipler için, ABBYY ve IronOCR arasındaki doğruluk farkı yüzde noktasının kesirleriyle ölçülür. Fiyat farkı, üç yıl boyunca on binlerce dolar olarak ölçülür.

Bu karşılaştırma, ABBYY'nin kıyaslama doğruluğunun bu maliyeti haklı çıkardığı ve olmadığı yerleri incelemektedir.

ABBYY FineReader Engine'i Anlamak

ABBYY FineReader Engine SDK, ABBYY'nin portföyündeki geliştiriciye yönelik üründür — masaüstü son kullanıcı uygulaması olarak FineReader PDF'den ve toplu otomasyon platformu olarak FineReader Server'dan farklıdır. SDK, C++, Java ve .NET için programlanabilir OCR API'leri sunar. ABBYY, 1989'dan beri OCR teknolojisi geliştirmektedir ve bu otuz yıllık yatırım, tanıma motorunun bozulmuş belgeler, karmaşık yazılar ve nadir dillerin ele alınmasında kendini gösterir.

FineReader Engine SDK'nın temel mimari özellikleri:

  • Satış kontrollü edinim: Kendine hizmet satın alma yolu yoktur. Erişim, bir sorgu formu, yeterlilik çağrısı, teknik danışma, özel teklif ve sözleşme müzakeresi gerektirir. Sorgudan geliştirme erişimine kadarki tipik zaman çizelgesi: 4-12 hafta.
  • SDK kurulumcusu,NuGet değil: SDK, belirli dizin yollarına ikili dosyalar, dil verisi, çalışma zamanı dosyaları ve lisans dosyaları yerleştiren bir Windows kurulum aracı aracılığıyla dağıtılır. Manuel montaj referansları, paket yönetiminin yerini alır.
  • .NET için COM uyumluluk katmanı: .NET entegrasyonu, modern C# konvansiyonlarından önceki yaşam döngüsü yönetimi kalıplarını (açıkça Oluştur, Yükle, İşle, Kapat sıralamaları) içeren bir COM uyumluluk katmanı üzerinden yürütülür.
  • Dosya tabanlı lisans yönetimi: Lisanslar, çalıştırma sırasında belirli yollarda diskte bulunması gereken .lic ve .key dosyaları olarak bulunur. Bazı dağıtım modelleri, ağ bağlantı noktası yapılandırması olan özel bir lisans sunucusu gerektirir.
  • 190+'dan fazla dil desteği: ABBYY'nin dil kapsaması çoğu alternatifleri aşar, düşük kaynaklı diller ve tarihsel yazılar dahil.
  • Metin ötesinde belge anlama: FineReader Engine, belge sınıflandırması, zeki form işleme ve Tesseract tabanlı çözümlerde bulunmayan el yazısı (ICR) için Zeki Karakter Tanıma içerir.

Motorun Başlatılması ve Yaşam Döngüsü

ABBYY, herhangi bir tanıma çalışması başlamadan önce açık bir başlatma dizisi gerektirir. Motor, belirli bir SDK yolundan geçerli lisans dosyaları ile yüklenmeli, bir tanıma profili seçilmeli ve her belge konteyneri, bellek sızıntılarını önlemek için işleme sonrası açıkça kapatılmalıdır:

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 dizi, bir tek piksel OCR çalışması başlamadan önce çalışır. loader.GetEngineObject() çağrısı lisans dosyalarını doğrular, SDK yolundan çalışma zamanı ikili dosyalarını yükler ve tanıma motorunu başlatır. Yeni bir dağıtım sunucusunda bu yollardan herhangi biri yanlışsa, çağrı çalışma zamanında başarısız olur.

IronOCR'u Anlamak

IronOCR, otomatik ön işleme, yerel PDF desteği ve tek bir NuGet paket dağıtım modeli ile optimize edilmiş bir Tesseract 5 LSTM motoru üzerinde kurulu ticari bir .NET OCR kütüphanesidir. Buna, işlem hattı kurmadan, tessdata dizinlerini yönetmeden veya kurumsal satın alma süreçlerini yönlendirmeden üretime hazır OCR'ye ihtiyaç duyan .NET geliştiricilerini hedefler.

Anahtar özellikler:

  • Tek NuGet paketi: dotnet add package IronOcr, OCR motoru, İngilizce için dil verileri ve tüm bağımlılıkları içeren tam kütüphaneyi kurar. Kurulum aracı yok, manuel montaj referansları yok, çalışma zamanı yol yapılandırması yok.
  • Otomatik ön işleme: Eni düzleme, Gürültü Giderme, kontrastı artırma, bina yetkisini artırma ve çözünürlük ölçeklendirme, düşük kaliteli girdilerde otomatik olarak çalışır. Gerektiğinde açık kontrol mevcut.
  • Yerel PDF girişi: PDF'ler, dönüşüm veya harici kütüphaneler olmadan doğrudan yüklenir. Parola korumalı PDF'ler tek bir parametre ile desteklenir.
  • Dize tabanlı lisanslama: Bir lisans anahtarı, kod veya bir ortam değişkeninden atanır. Dağıtılacak lisans dosyası yok, yapılandırılacak lisans sunucusu yok.
  • Çoklu platform tek paketten: Windows, Linux, macOS, Docker, Azure ve AWS, aynı NuGet referansından çalışmaktadır.
  • Tasarım gereği iş parçacığı güvenli: Ek yapılandırma gerektirmeyen birden fazla IronTesseract örneği eşzamanlı olarak çalışır.
  • NuGet üzerinden 125'ten fazla dil: Dil paketleri, paket yöneticisi tarafından herhangi bir bağımlılık gibi çözülen ayrı NuGet paketleri (IronOcr.Languages.French, vb.) olarak kurulur.

Özellik Karşılaştırması

Özellik ABBYY FineReader Engine IronOCR
OCR Doğruluğu Benchmark lideri Standart belgelerde %95-99
Dil Desteği 190+ 125+
Kurulum SDK yükleyici dotnet add package IronOcr
Lisanslama Modeli Enterprise (satışa kapalı) Kendi kendine hizmet, $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

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

Özellik ABBYY FineReader Engine IronOCR
Edinim
Satın alma yolu Satışla iletişim gereklidir Kendi kendine hizmet NuGet
İlk OCR sonucu için süre 4-12 hafta (tedarik) Dakikalar
Ücretsiz deneme Satış katılımı gerektirir Ücretsiz indirme
Fiyatlandırma
Geliştirme lisansı ABBYY ile fiyat teklifi almak için iletişime geçin $999 - $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 interop Yerel .NET
Lisans yönetimi Dosya tabanlı (.lic + .key dosyaları) Dize anahtarı
Lisans sunucusu Bazı modeller için gerekli Gerekli değil
Bir görüntüyü OCR yapmak için satırlar 15-25 satır 1-3 satır
Tanıma
OCR doğruluğu Benchmark lideri Standart belgelerde %95-99
Diller 190+ 125+
El yazısı (ICR) Evet Sınırlı
Belge sınıflandırması Evet Hayır
Form tanıma Evet (şablonlar) Temel
Barkod okuma Evet Evet (yerleşik)
Tablo çıkartma Evet Evet
PDF
PDF girdisi Evet Evet (yerel)
Şifre korumalı PDF Evet Evet
Aranabilir PDF çıktısı Evet Evet
PDF/A çıktısı Evet Hayır
Ön işlem
Otomatik ön işlem Profil tabanlı Evet (otomatik + manuel kontrol ile)
Hizalama Evet Evet
Gürültü azaltma Evet Evet
Çözünürlük iyileştirmesi Evet Evet
Dağıtım
Çapraz platform Windows, Linux, macOS Windows, Linux, macOS
Docker Kompleks (çalışma zamanı dosyaları) Standart
Azure dağıtımı Destekleniyor (yerinde model) Doğrudan
İzole ortamlar Evet Evet

Doğruluk vs. Maliyet

ABBYY ve IronOCR karşılaştırmasındaki ana soru: ABBYY'nin doğruluk avantajı, 10-20 kat daha yüksek sahip olma maliyetini haklı çıkarıyor mu?

ABBYY Yaklaşımı

ABBYY'nin tanıma motoru, en zor belge türlerinde üst düzey doğruluk sağlar: kötüleşmiş tarihsel taramalar, karışık yazı türleri, el yazısı metinler, karmaşık form düzenleri ve fiziksel durumu kötü belgeler. DocumentConversion_Accuracy profili, ABBYY'nin tam tanıma hattını 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ılı açıklamaları olan tıbbi kayıtlar, on yıllar boyunca fiziksel yıpranma geçirmiş yasal belgeler veya mikrofilmden dijitalleştirilmiş hükümet arşivleri için ABBYY'nin modern Tesseract tabanlı çözümler üzerindeki doğruluk avantajı ölçülebilir ve önemlidir.

IronOCR Yaklaşımı

IronOCR, otomatik ön işleme sayesinde faturalar, makbuzlar, sözleşmeler, formlar, taranmış raporlar gibi standart iş belgelerinde %95-99 doğruluğa ulaşır; Tesseract 5 LSTM motoru görüntüyü görmeden önce en yaygın doğruluk hatalarını düzeltir:

using IronOcr;

// IronOCR: Automatic preprocessing 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: Automatic preprocessing 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: Automatic preprocessing 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 ön işleme filtreleri tam kontrol sunar:

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 filtrenin tanıma doğruluğu üzerindeki etkisini kapsar. İş belgesi iş akışlarının %99'u için — faturalar, siparişler, sözleşmeler, kimlik belgeleri, basılı formlar — IronOCR'nin ön işlenmiş Tesseract 5 motoru, ABBYY'nin pratikte ayırt edilemez doğruluk sağladığı kadar doğru sonuç verir. Kalan %1, bozulmuş el yazıları, tarihsel belgeler veya ABBYY'nin fark yarattığı niş yazı sistemi kombinasyonlarını içerir.

Kurulum Kompleksliği: SDK Yükleyici vs. NuGet

ABBYY ve IronOCR arasındaki kurulum farkı, küçük bir rahatsızlık değildir. Bir geliştiricinin bir öğleden sonra OCR değerlendirme yapabileceği ya da bir tedarik döngüsünü beklemek zorunda olup olmadığına karar verir.

ABBYY Yaklaşımı

ABBYY FineReader Engine yüklemesi, lisanslama onaylandıktan sonra şu sırayla ilerler:

ABBYY SDK yükleyicisini çalıştırdıktan sonra kurulum yapısı:
C:\Program Files\ABBYY SDK\
├── FineReader Engine\
│   ├── Bin\          ← SDK ikili dosyaları (ellederleme referansı gereklidir)
│   ├── Inc\          ← Başlık dosyaları
│   ├── Lib\          ← Kütüphaneler
│   └── Lisans\      ← Lisans dosyaları (ABBYY.lic + ABBYY.key)
└── Çalışma Zamanı\
    ├── Diller\    ← Dil verileri dosyaları (büyük, dağıtılmaları gerekir)
    └── Sözlükler\ ← Sözlük dosyaları (dağıtılmaları gerekir)

Her dağıtım hedefi — geliştirici çalışma istasyonu, yapı sunucusu, sahne ortamı, üretim sunucusu — bu yükleyicinin yönetici haklarına sahip olarak çalışmasını gerektirir. Lisans dosyaları her makinede beklenen yollarda bulunmalıdır. Docker konteynerlerinde, bu ya SDK'yı özel bir temel imaja yerleştirmek ya da bir hacim olarak monte etmek anlamına gelir; her ikisi de önemli altyapı çalışması gerektirir.

Çalışma zamanında lisans doğrulama, dosya varlığını ve geçerliliğini kontrol eder. .lic dosyası eksikse, loader.GetEngineObject() çağrısı başlangıçta hata verir. Lisans süresi dolmuşsa, üretimde de aynı hata meydana gelir.

IronOCR Yaklaşımı

dotnet add package IronOcr

Bu komut her şeyi halleder: OCR motoru, İngilizce dil verisi ve mevcut platform için tüm yerel ikili bağımlılıklar. Çapraz platform hedefleri aynı pakete dahildir. Docker dağıtımı, özel bir temel imaj 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 bir 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 yol yok, bakım gerektiren lisans sunucusu yok. Tam Docker dağıtım kılavuzu, Linux konteynerine özgü libgdiplus gereksinimini de dahil eder. Aynı NuGet paketi, Azure, AWS Lambda ve Linux sunucuları olarak aynı şekilde dağıtılır.

PDF İşleme

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

ABBYY Yaklaşımı

ABBYY PDF işleme, PDF'nin ayrı bir CreatePDFFile() nesnesi aracılığıyla açılmasını, sayfaların yinelenmesini, her sayfanın bir belge konteynerine eklenmesini, tanıma geçişinin çalıştırılmasını, ardından yapılandırılmış ihraç parametreleriyle dışa aktarılmasını 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 girişlerini doğrudan ele alır — sayfa yineleme yok, ayrı dosya nesneleri yok, dışa aktarma 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);

//Şifre 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);

//Şifre 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

' Şifre 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

aranabilir PDF rehberi, var olan PDF taramalarına metin katmanını gömme dahil olmak üzere çıkış seçeneklerini kapsar. PDF OCR örneği, çok sayfalı işleme ile sayfa başına sonuç erişimini gösterir.

Fiyatlandırma Modeli

Fiyatlandırma karşılaştırması, ABBYY ve IronOCR arasında karar vermenin çoğu geliştirme ekibi için en net olduğu yerdir.

ABBYY Yaklaşımı

ABBYY fiyatlandırmayı kamuya açık şekilde yayınlamaz. Tüm rakamlar için bir satış ile etkileşime geçilmesi gereklidir. Özel gereksinimlerinize göre fiyat teklifi almak için ABBYY ile iletişime geçin.

ABBYY'nin lisanslama modeli tipik olarak geliştirme lisanslarını, çalışma zamanı lisanslamasını (sunucu bazlı veya sayfa bazlı), yıllık bakım ücretlerini ve isteğe bağlı profesyonel hizmet ücretlerini içerir.

Orta ölçekli bir ekip, üç yıllık toplam sahip olma maliyeti ile karşı karşıya kalabilir — geliştirme lisansı artı çalışma zamanı lisanslaması artı yıllık bakım ücretleriyle.

Sayfa başına lisanslama modeli, ölçek ekonomisinde maliyet getirmektedir ve değişken maliyetler hacimle büyür ve aksi halde sözleşmeli olarak anlaşılmadıkça tavan yoktur.

IronOCR Yaklaşımı

IronOCR lisanslama, süresiz ve yayınlanmıştır:

  • Lite: $999 (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'deki Professional lisansı, süresiz olarak herhangi bir miktar belgeyi herhangi bir sayıda sunucuda işleyen 10 geliştiricilik bir ekibi kapsar.

Orta büyüklükteki ekip senaryosu için üç yıllık TCO karşılaştırması,IronOCR lehine önemli bir fark gösteriyor. Standart iş belgelerinde onları ayıran doğruluk marjı, kullanımların çoğunluğu için bu farkı kapatmaz.

API Eşleme Başvurusu

ABBYY FineReader Engine IronOCR Karşılığı
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() ardından 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 kontrolü result.Lines, result.Words
block.GetAsTableBlock() result.Pages yapılandırılmış veri
engine.CreatePDFExportParams() Gerekli değil
document.Export(path, FEF_PDF, params) result.SaveAsSearchablePdf(path)
document.Close() using deseni (otomatik)
Disk yollarında lisans dosyaları IronOcr.License.LicenseKey = "key"
engine.GetLicenseInfo() IronOcr.License.IsValidLicense

IronOCR API referansı için tam IronTesseract sınıf dokümantasyonuna bakın.

Ekibin ABBYY FineReader Engine'den IronOCR'ye Geçmeyi Düşündüğü Zamanlar

Lisans Yenileme Maliyet-Fayda Gözden Geçirmesini Tetikler

ABBYY için yıllık bakım faturaları genellikle her yıl orijinal lisans maliyetinin %20-25'i olarak gelir. Geliştirme lisansı için $10,000 ve çalışma zamanı lisanslaması için $15,000 ödeyen bir takım için yıl iki, yeni bir kod satırı yazılmadan önce $6,250 bakım faturası getirir. Bu yenileme anı, ekiplerin belirli belge türleri üzerindeki doğruluk farkının, genellikle standart iş belgeleri, devam eden maliyeti haklı çıkarıp çıkarmadığını sormasını ister. Fatura işleme, sözleşme sayısallaştırma veya taranmış form çıkartımı yürüten ekipler, IronOCR'nin ön işlenmiş Tesseract 5 motorunun, on binlerce dolar yerine yüzlerce dolarla ölçülen maliyette eşdeğer pratik doğruluk sağladığını rutin olarak bulur.

Mevcut ABBYY İlişkisi Olmayan Yeni Proje

Sıfırdan bir OCR projesi başlatan geliştirme ekipleri, ABBYY SDK erişimini elde etmek için 4-12 hafta beklemek zorunda kalmanın gerçeğiyle yüzleşirler; bu, 4-12 haftalık engellenmiş geliştirme anlamına gelir. Bir prototip teslim tarihi veya bir sprint taahhüdü olan bir ekip için bu tedarik döngüsü bir seçenek değildir. IronOCR bir dakikanın altında kurulur ve aynı gün OCR sonuçları üretir. Yeni bir ürün için OCR değerlendiren ekipler, ABBYY'nin yeteneği eksik olduğu için değil, kargoya çıkmaları gerektiği ve bir satış döngüsünü bekleyemedikleri için sıklıkla IronOCR'yi seçerler.

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

ABBYY'nin COM interop katmanı üzerine inşa edilmiş uygulamalar, konteynerlara, Kubernetes'e veya bulut tabanlı mimarilere taşınırken sürtüşme yaşar. SDK yükleyici, lisans dosya bağımlılıkları, çalışma zamanı dizin yapısı — bunların hiçbiri standart bir .NET temel imajdan inşa edilen bir Docker imaja tam olarak uymuyor. Bir eski belge işleme uygulamasını kapsülleştiren ekipler, ABBYY'nin dağıtım modelinin, tam SDK kurulumunu içeren özel bir temel imaj gerektirdiğini veya tüm operasyonel karmaşıklığıyla lisans dosyaları için hacim bağlantı noktaları gerektirdiğini bulur. IronOCR NuGet paketi, taban görüntüye herhangi bir ekleme yapmadan tüm konteynerlere dağıtılırken, Linux hedefleri için libgdiplus eklemesi gerektirir.

Küçük Takımlar Üzerindeki Bütçe Kısıtlamaları

Startup'lar, bağımsız yazılım satıcıları ve dahili araç ekipleri sıklıkla ABBYY'nin yeteneklerini değerlendirir ve bunları geçerli bulurlar — ardından fiyatlandırmanın kurumsal düzeyde bütçe onayı gerektirdiğini keşfederler. ABBYY'nin satışla sınırlı kurumsal fiyatlandırması, daha küçük ekipler için ulaşılmaz olabilir. IronOCR'nun $999 Lite lisansı veya $2,999 Professional lisansı, tek bir mühendisinin serbest satın alma yetkisine uygundur.

Artan Belge Hacmi Sayfa Başına Maliyet Yapısını Açığa Çıkarır

Küçük başlayıp büyüyen uygulamalar sayfa başına ABBYY lisanslaması ile bir duvara çarpar. Başlangıçta ayda 10,000 belge işleyen bir startup, iki yıl içinde ayda 500,000'e kadar büyür. $0.01/sayfa ile bu büyüme eğrisi ABBYY maliyetlerini yönetilebilirden bütçe tanımlayıcıya taşır. IronOCR'nin süresiz lisansı sayfa başına bileşen içermez — 10,000 belge veya 10,000,000 belge işlemek aynı maliyete sahiptir.

Genel Geçiş Dikkat Edilmesi Gereken Hususlar

Motor Yaşam Döngüsü Yönetimini Değiştirme

En zaman alıcı göç çalışması, ABBYY'nin açık başlatma ve yaşam döngüsü kodunu kaldırmayı içerir. Her loader.GetEngineObject(), LoadPredefinedProfile() ve document.Close() çağrısı silinir. IronOCR'nun IronTesseract'u, yükleyicisiz, profil yüklemesiz ve standart using deseni yoluyla otomatik temizleme ile doğrudan başlatılır. Temel metin çıkarım desenleri için tipik göç ç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ı Kaldırma

Taşıma sonrasında, dağıtım boru hattı önemli ölçüde basitleşir. ABBYY SDK yükleme adımı CI/CD komut dosyalarından çıkarılır. Lisans dosyaları (ABBYY.lic, ABBYY.key) dağıtım eserlerinden kaldırılır. Bir lisans sunucusu çalışıyorsa, bu altyapı devreden çıkarılabilir. IronOCR lisans anahtarı, lisans doğrulaması için dosya yok, sunucu yok, ağ bağımlılığı olmayan bir ortam değişkeninde veya sır yöneticisinde bulunur. IronTesseract kurulum rehberi, çeşitli dağıtım ortamları için lisans anahtarının yerleşimini kapsayan başlangıç yapılandırmasını içerir.

Bölge Tabanlıdan Bölgeye Dayalı Çıkartıma

ABBYY'nin bölge tabanlı bölge çıkartması (_engine.CreateZone(), zone.SetBounds(), zone.Type = ZoneTypeEnum.ZT_Text, page.Zones.Add(zone)) IronOCR'nun CropRectangle yaklaşımı ile eşleşir. Kavramlar aynı; API daha basit:

// 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

Bölge tabanlı OCR kılavuzu, fatura ve form işleme süreçlerinde yaygın olan alan çıkartma desenleri için CropRectangle kullanımını kapsar.

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

ABBYY'nin blok tabanlı yapılandırılmış veri erişimi (page.Layout.Blocks, BlockTypeEnum.BT_Table, block.GetAsTableBlock()) IronOCR'da doğrudan bir birebir eşdeğere sahip değildir. IronOCR, yapılandırılmış sonuçları her biri koordinat verileriyle result.Pages, result.Lines, result.Words ve result.Paragraphs yoluyla sunar. Özellikle tablo çıkarımı için, sonuçları okuma rehberi, tablo yeniden inşasına olanak tanıyan kelime seviyesinde konumlandırma verilerini erişmeyi kapsar.

Ek IronOCR Yetenekleri

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

  • OCR sırasında barkod okuma: Metin tanıma ile aynı geçişte 1D ve 2D barkodları tespit edip çözmek için ocr.Configuration.ReadBarCodes = true etkinleştirin, çıkartılan metinle birlikte barkod değerlerini döndürür — ayrı barkod kütüphanesi gerekmez.
  • 125+ dil NuGet aracılığıyla: Dil paketleri standart NuGet paketleri olarak kurulur. Birincil ve ikincil diller kodda yapılandırılır. diller indeksi her mevcut dil paketini listeler.
  • Güven skorlama: result.Confidence, tam sonuç için tanıma güven yüzdesini döndürür. Kelime başına güven, seçmeli doğrulama iş akışları için result.Words aracılığıyla erişilebilir.
  • Async OCR: IronTesseract, ASP.NET uygulamaları ve çağıran iş parçacıklarını engellemeden yüksek verimli hatlar için asenkron çalışma desenlerini destekler.
  • İlerleme izlencesi: Uzun süreli parti işleri, masaüstü uygulamalarında ilerleme çubuğu entegrasyonunu ve arka plan hizmetlerinde durum raporlamasını mümkün kılan ilerleme olaylarını yüzeyler.
  • hOCR dışa aktarma: result.SaveAsHocrFile(), konum farkındalıklı OCR sonuçlarını tüketen belge yönetim sistemleri ile entegrasyon için HOCR formatını çıkarır.
  • Uzmanlaşmış belge tanıma: Pasaport MRZ, plaka metni, MICR çek hatları ve el yazısı içeriği için her biri yapılandırma ve beklenen doğruluk üzerine rehberler içermektedir.

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

IronOCR, .NET 6, .NET 7, .NET 8 ve .NET 9'u hedef alır ve her yeni .NET sürümünü aktif geliştirme ile izler. Modern .NET'e henüz geçiş yapmamış projeler için .NET Standart 2.0'ı da destekler. ABBYY FineReader Engine SDK, COM birlikte çalışabilirlik katmanı aracılığıyla .NET Framework ve modern .NET'i destekler, ancak COM bağımlılığı, ABBYY'yi belirli Linux yapılandırmalarında, kırpılmış dağıtımlarda ve IronOCR'un sorunsuz bir şekilde yönettiği yerel AOT senaryolarında çalışamaz hale getiren zor bir kısıtlamadır. IronOCR'un tek paket dağıtım modeli, modern .NET geliştirme yönüyle uyumludur: NuGet tarafından yönetilen bağımlılıklar, konteyner dostu dağıtım ve tek kod tabanından platform bağımsızlığı.

Sonuç

ABBYY FineReader Engine, OCR alanında doğruluğun gösterge noktasıdır. Bu ifade doğrudur ve açıkça belirtilmeye değer. Tıbbi doküman dijitalleştirmenin tanıma hatalarının klinik sonuçlar doğurduğu yerlerde, yasal keşif işlemlerinin belgenin tamlığına tabi olduğu yerlerde veya el yazısıyla yazılmış tarihi belgeleri işleyen arşivleme projeleri için ABBYY'nin modern Tesseract tabanlı çözümler üzerindeki avantajı gerçektir ve önemlidir. Bu kullanım durumları vardır ve ABBYY'nin maliyeti ve karmaşıklığı bu durumlar için haklıdır.

Sorun, bu kullanım durumlarının .NET geliştiricilerinin aslında inşa ettiği OCR işinin küçük bir kısmını temsil etmesidir. Gerçek dünya OCR projelerinin çoğu — fatura işleme, sözleşme dijitalleştirme, taranmış form çıkarımı, fiş ayrıştırma, kimlik belgesi okuma — genellikle temiz belgelerde basılı metin içerir. Bu belgelerde,IronOCR otomatik ön işleme ile %95-99 doğruluğa ulaşır ve IronOCR ile ABBYY arasındaki pratik fark üretim çıktısında fark edilemez. Üç yıllık önemli maliyet farkı, uygulamanın kullanıcılara hiç göstermediği marjinal bir doğruluk avantajı satın alır.

Kurulum sürtüşmesi de aynı oranda eşitsizdir. Yeni bir proje için OCR değerlendiren bir geliştirici bir paketi yükleyebilmeli, on satır kod yazmalı ve sonuçları görebilmelidir. ABBYY, tek bir OCR kod satırı çalışmadan önce haftalar süren bir satış angajmanı gerektirir. Bu, uygulama desteği ve SLA taahhütleri ile 50.000 dolarlık bir kurumsal sözleşme için doğru modeldir. Prototipleme, yineleme ve teslimat yapması gereken bir geliştirme ekibi için yanlış modeldir.

IronOCR, $999 süresiz başlar, tek komutla yüklenir ve standart iş belgelerinde ön işleme yapılandırması veya lisans dosyası yönetimi olmadan doğru OCR sonuçları üretir. ABBYY'nin zor doküman türleri üzerindeki spesifik doğruluk avantajlarının kesin bir gereklilik olmadığı ekipler için — ki bu çoğu ekip olur — bu, pratik seçenektir.

Lütfen dikkate alınABBYY FineReader ve Tesseract, ilgili sahiplerinin tescilli markalarıdır. Bu site ABBYY veya Google ile ilişkilendirilmemiş, onaylanmamış veya desteklenmemiştir. 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

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çeneğinden biridir.

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

IronOCR, IronTesseract'ı çekirdek motoru olarak kullanarak NuGet'e özgü bir .NET OCR kütüphanesidir. ABBYY FineReader Engine’e kıyasla, daha basit dağıtım (SDK kurulumları yok), sabit oranlı fiyatlandırma ve COM interop veya bulut bağımlılıkları olmadan temiz bir C# API sunar.

IronOCR, ABBYY FineReader Engine'den daha mı kolay kurulur?

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.

ABBYY FineReader Engine ve IronOCR arasında doğruluk farklılıkları nelerdir?

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.

ABBYY FineReader Engine lisanslaması IronOCR ile 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.

ABBYY FineReader'ın karşısında IronOCR, Docker ve konteynerleşmiş dağıtımlar için uygun mudur?

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.

ABBYY FineReader'a kıyasla, 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.

ABBYY FineReader Engine'den IronOCR'ye geçiş kolay mıdır?

ABBYY FineReader Engine'den IronOCR'ye geçiş tipik olarak başlatma dizilerini IronTesseract oluşturumuyla 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ş, 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