OCR Yazılım Denemeleri: En İyi Seçenekleri Keşfedin
Kofax OmniPage SDK ile OCR çalıştırmak, Tungsten Automation satış ekibiyle iletişime geçmeyi, 4-12 haftalık keşif görüşmeleri, kanıtlayıcı kavram oturumları, sözleşme pazarlıkları ve satın alma onaylarından geçmeyi gerektirir — tek bir satır kod yaza başlamadan önce. SDK, NuGet üzerinde mevcut değildir. Özel bir yükleyici olarak gelir, belirli bir makine veya ağ lisans sunucusuna bir lisans dosyası ekler, başlangıçta 100MB'tan fazla dil sözlüğü ve yapay sinir ağı modelleri yükler ve engine.Shutdown() çağrısı yapılmadığında, o sunucudaki diğer tüm işlemler için lisansın kilitli kalma riski taşır. .NET OCR işlerinin çoğunluğu için — faturalar, sözleşmeler, taranmış PDF'ler, kimlik belgeleri — o satın alma ve dağıtım yükü, 30 saniyede kurulabilecek bir kütüphaneye göre ölçülebilir bir doğruluk avantajı sunmaz.
Kofax OmniPage'i Anlamak
Kofax OmniPage (2024'te bir yeniden markalama sonrası Tungsten Automation altında pazarlanan) 30 yıllık geçmişi olan bir kurumsal belge yakalama ve OCR paketidir. Sahiplik zinciri şöyledir: Caere Corporation → Nuance Communications (2001) → Kofax (2019) → Tungsten Automation (2024). O sahiplik geçmişi, uzun vadeli platform istikrarını değerlendirirken önem taşır.
OmniPage kendisini premium doğruluk seviyesinde konumlandırır ve yüksek hacimli kurumsal belge işleme hedefler: milyonlarca sayfa işleyen form işleme merkezleri, hükümet belge dijitalleştirme programları ve el yazısı alanlar için ICR (Akıllı Karakter Tanıma) gerektiren finansal iş akışları. OCR işlevselliğini .NET geliştiricilere sunan Capture SDK, masaüstü OmniPage Ultimate ürününden (perakende fiyatı $499) ayrıdır. SDK ayrı tedarik gerektirir ve kurumsal fiyat taşıır — teklif için Kofax/Tungsten Automation ile iletişime geçin. Lisans maliyetine ek olarak yıllık bakım ücretleri gereklidir.
OmniPage Capture SDK'nın anahtar mimari özellikleri:
- NuGet dağıtımı yok: Satış görüşmesinden sonra özel kurulumla SDK sağlanır; DLL referansları projelere manuel olarak eklenir
- Motor yaşam döngüsü yönetimi:
OmniPageEnginekullanımdan önce başlatılmalı ve kullanımdan sonra açıkça kapatılmalıdır;Shutdown()çağrısının yapılmaması lisansın kilitli kalmasına neden olabilir - Lisans dosyası dağıtımı: SDK'yı çalıştıran her makinede belirli bir yolda
.licdosyası bulunmalıdır; ağ/yüzen lisans yapılandırmaları, açık olacak bir güvenlik duvarı portları ile ayrı bir lisans sunucu kurulumu gerektirir - Donanım parmak izi alma: Aktivasyon donanıma bağlanır; donanım değişikliklerinde yeniden etkinleştirme gereklidir
- Birden çok bileşenli yerel kurulum: OCR motoru DLL'leri, ICR el yazısı modülleri, OMR işaret tanıma modülleri ve motor başlatma sırasında 120'den fazla dil sözlüğü yüklenir
- Birden çok çıktı formatı ve tanıma modu: OCR, ICR (el yazısı), OMR (onay kutuları), barkod ve MRZ tanımayı destekler; her mod belge başına yapılandırılabilir
- 2025.3'teLinuxeklendi: Ocak 2026 SDK sürümüLinuxsunucu desteği ekledi;macOSdesteklenmeden kalır
Motor Başlatma Modeli
Her OmniPage entegrasyonu, uygulamanın tüm belge işleme penceresini kapsayan bir motor yaşam döngüsü ile başlar:
// OmniPage: Engine must be initialized before any operations
// License file must exist at this path on every target machine
using var engine = new OmniPageEngine();
engine.SetLicenseFile(@"C:\Program Files\OmniPage\license.lic");
engine.Initialize(); // Contacts license server; loads 100MB+ of native components
// Configure recognition settings for the document
var settings = new RecognitionSettings
{
PrimaryLanguage = "English",
SecondaryLanguages = new[] { "German", "French" },
AccuracyMode = "Maximum",
PreserveLayout = true,
DetectTables = true,
DespeckleLevel = 2,
ContrastEnhancement = true,
AutoRotate = true,
DeskewImage = true
};
// Document-centric workflow
var document = engine.CreateDocument();
document.AddPage(imagePath);
document.Recognize(settings);
string text = document.GetText();
// Explicit cleanup — omitting this can lock the license
document.Dispose();
engine.Shutdown();
// OmniPage: Engine must be initialized before any operations
// License file must exist at this path on every target machine
using var engine = new OmniPageEngine();
engine.SetLicenseFile(@"C:\Program Files\OmniPage\license.lic");
engine.Initialize(); // Contacts license server; loads 100MB+ of native components
// Configure recognition settings for the document
var settings = new RecognitionSettings
{
PrimaryLanguage = "English",
SecondaryLanguages = new[] { "German", "French" },
AccuracyMode = "Maximum",
PreserveLayout = true,
DetectTables = true,
DespeckleLevel = 2,
ContrastEnhancement = true,
AutoRotate = true,
DeskewImage = true
};
// Document-centric workflow
var document = engine.CreateDocument();
document.AddPage(imagePath);
document.Recognize(settings);
string text = document.GetText();
// Explicit cleanup — omitting this can lock the license
document.Dispose();
engine.Shutdown();
Imports OmniPage
' OmniPage: Engine must be initialized before any operations
' License file must exist at this path on every target machine
Using engine As New OmniPageEngine()
engine.SetLicenseFile("C:\Program Files\OmniPage\license.lic")
engine.Initialize() ' Contacts license server; loads 100MB+ of native components
' Configure recognition settings for the document
Dim settings As New RecognitionSettings With {
.PrimaryLanguage = "English",
.SecondaryLanguages = {"German", "French"},
.AccuracyMode = "Maximum",
.PreserveLayout = True,
.DetectTables = True,
.DespeckleLevel = 2,
.ContrastEnhancement = True,
.AutoRotate = True,
.DeskewImage = True
}
' Document-centric workflow
Dim document = engine.CreateDocument()
document.AddPage(imagePath)
document.Recognize(settings)
Dim text As String = document.GetText()
' Explicit cleanup — omitting this can lock the license
document.Dispose()
engine.Shutdown()
End Using
Bu model her entegrasyon noktasında çoğaltılmalıdır: ASP.NET istek işleyicileri, Windows hizmetleri, toplu işleme işleri ve birim testleri, motor yaşam döngüsünü yönetmelidir. Bir yüzer lisans konfigürasyonunda, hata yolunda Shutdown() unutulursa, sunucu yeniden başlatılana kadar lisans koltuğunu diğer tüm işlemler için kilitler.
IronOCR'u Anlamak
IronOCR, optimize edilmiş Tesseract 5 motoru ile otomatik ön işleme, yerel PDF desteği ve tek bir NuGet paketinden çapraz platform dağıtımı sunan ticari bir .NET OCR kütüphanesidir. Üretime hazır OCR'a ihtiyaç duyan ancak kurumsal tedarik yükü veya ham Tesseract'ın gerektirdiği elle ön işleme hatları olmayan geliştiricileri hedefler.
Anahtar özellikler:
- Tek NuGet paketi:
dotnet add package IronOcr— yükleyici yok, DLL referansları yok, yerel bileşen yönetimi yok - Dize tabanlı lisanslama: Uygulama başlangıcında tek satır; dağıtılacak dosya yok, yapılandırılacak lisans sunucusu yok, donanım parmak izi yok
- Otomatik ön işleme: OCR motoru çağırmadan önce otomatik olarak Eğrilik Giderme, Gürültü Azaltma, Kontrast artırma, İkili Yapma ve çözünürlük normallendirme uygulanır
- Yerel PDF girişi:
input.LoadPdf()taranmış PDF'leri doğrudan işler; ayrı PDF modu lisansı gerekmez - Aranabilir PDF çıktısı:
result.SaveAsSearchablePdf()herhangi bir taranmış girişten metin katmanı PDF'si üretir - Tasarım gereği iş parçacığı güvenli: Birden fazla
IronTesseractörneği eşgüdüm ek yükü olmadan paralel çalışır - Çapraz platform: Windows, Linux, macOS, Docker, Azure ve AWS Lambda, aynı NuGet paketinden desteklenir
- 125+ dil: Her dil ayrı bir NuGet paketi olarak mevcuttur (
IronOcr.Languages.French, vb.) - Süresiz lisanslama: $999 Lite / $1,499 Plus / $2,999 Professional / $5,999 Unlimited; yıllık bakım gerekliliği yok
Özellik Karşılaştırması
| Özellik | Kofax OmniPage SDK | IronOCR |
|---|---|---|
| Dağıtım | Özel yükleyici, manuel DLL referansları | NuGet paketi |
| Kurulum süresi | 4–12 hafta (tedarik) + saatler (kurulum) | 30 saniye |
| Başlangıç fiyatı | Kofax/Tungsten Automation sales ile iletişime geçin | $999 Lite (yayınlanmış) |
| Lisans modeli | Kurumsal anlaşma, yıllık bakım | Süresiz, bakım gerektirmez |
| Lisans mekanizması | .lic dosyası + isteğe bağlı lisans sunucusu |
Dize anahtarı veya ortam değişkeni |
| macOS desteği | Desteklenmiyor | Tam destek |
| Linux desteği | Evet (2025.3'te eklendi) | Evet (tüm versiyonlar) |
Ayrıntılı Özellik Karşılaştırması
| Özellik | Kofax OmniPage SDK | IronOCR |
|---|---|---|
| Edinim | ||
| NuGet mevcudiyeti | Hayır | Evet |
| Self-servis deneme | Hayır (satışa bağlı değerlendirme) | Evet (ücretsiz deneme mevcut) |
| Yayınlanmış fiyatlandırma | Hayır | Evet |
| Satış süreci gerekli | Evet (4–12 hafta tipik) | Hayır |
| Lisanslama | ||
| Lisans mekanizması | .lic diskteki dosya |
Dize anahtarı |
| Lisans sunucu desteği | Evet (yüzen/ağ) | Gerekli değil |
| Donanım parmak izi | Evet | Hayır |
| Yıllık bakım ücretleri | Lisans maliyetinin %18-25'i | Opsiyonel |
| Sayfa başı çalışma ücretleri | Mevcut (değişken) | Hayır |
| Platform desteği | ||
| Windows x64 | Evet | Evet |
| Linux | Evet (2025.3+) | Evet (tüm versiyonlar) |
| macOS | Hayır | Evet |
| Docker | Sınırlı | Tam |
| Azure / AWS Lambda | Karmaşık | Kolay |
| OCR yetenekleri | ||
| OCR (yazılı metin) | Evet, 120+ dil | Evet, 125+ dil |
| ICR (el yazısı) | Evet | Sınırlı |
| OMR (onay kutuları/kabarcıklar) | Evet | Hayır |
| MRZ tanıma | Evet | Evet |
| MICR (banka çekleri) | Evet | Evet |
| Barkod okuma | Eklenti modülü | Yerleşik |
| Belge Girişi | ||
| Görüntü dosyaları | Evet | Evet |
| PDF girişi (yerel) | Evet (ek modül gerekebilir) | Evet, yerleşik |
| Şifre korumalı PDF'ler | Yapılandırmaya bağlı | Evet (Password parametresi) |
| Çok sayfalı TIFF | Evet | Evet |
| Akış girişi | Evet | Evet |
| Çıktı | ||
| Düz metin | Evet | Evet |
| Aranabilir PDF | Evet | Evet |
| hOCR | Evet | Evet |
| Kelime düzeyinde koordinatlar | Evet | Evet |
| Güven skoru | Evet | Evet |
| Ön işlem | ||
| Otomatik düzeltme | Ayar tabanlı | Otomatik + açık API |
| Gürültü azaltma | Ayar tabanlı | Otomatik + açık API |
| Kontrast artırma | Ayar tabanlı | Otomatik + açık API |
| Açık filtre kontrolü | Evet | Evet (Deskew(), DeNoise(), vb.) |
| Geliştirme | ||
| Motor yaşam döngüsü yönetimi | Gereklidir | Gerekli değil |
| İş parçacığı güvenliği | Karmaşık (motor yeniden kullanımı) | Yerleşik |
| Dağıtım karmaşıklığı | Yüksek (lisans dosyaları, yerel bileşenler) | Tek bir NuGet paketi |
Kurumsal Tedarik vs. Geliştirici Erişilebilirliği
OmniPage ve IronOCR arasındaki en önemli pratik fark, doğruluk değil — "OCR'a ihtiyacım var" ile "OCR uygulamamda çalışıyor" arasındaki zamandır.
Kofax OmniPage Yaklaşımı
OmniPage edinim süreci, hiçbir geliştiricinin kestiremeyeceği sabit bir sırayı izler:
OmniPage dağıtım adımları (kofax-enterprise-ocr.cs kaynağından):
1. Satış sürecini tamamlama (4–12 hafta)
2. Tungsten'den SDK yükleyici alma
3. SDK'yı geliştirme makinelerine kurma
4. Lisans dosyalarını yapılandırma (makine başına veya yüzer)
5. Lisans sunucusu kurma (ağ lisansı kullanıyorsa)
6. Üretim sunucularına çalışma zamanı bileşenlerini yükleme
7. Lisans dosyalarını üretime dağıtma
8. Lisans sunucusu iletişimi için güvenlik duvarını yapılandırma
9. Lisans kullanılabilirliğini izleme kurulumunu yapma
10. Lisans serbest bırakma için kapatma prosedürlerini belgeleme
Adım 5, 8 ve 9 geliştirici görevleri değildir — altyapı ve güvenlik ekipleriyle koordinasyon gerektirir. 7. adım, her üretim dağıtımının .lic dosyasının sabit bir yolda mevcut olmasını gerektirir. 10. adım, herhangi bir kod yolunda Shutdown()'yu unutmanın bir yüzer lisans koltuğunu süresiz olarak kilitlediği için vardır.
Sayfa başı lisanslama modeli, operasyonel karmaşıklığa bir katman daha ekler. Kullanım raporlaması bir lisans sunucusuna akar, fatura mutabakatı aylık veya üç aylık olarak gerçekleşir ve belgelerdeki beklenmedik bir hacim artışı (yeni bir müşteri eklendi, birikmiş iş işlendi) kimsenin bütçelemediği bir fazlalık faturası üretir.
IronOCR Yaklaşımı
// Step 1: Install
// dotnet add package IronOcr
// Step 2: Configure license (one line at startup)
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";
// Step 3: Read a document
var text = new IronTesseract().Read("document.jpg").Text;
// Step 1: Install
// dotnet add package IronOcr
// Step 2: Configure license (one line at startup)
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";
// Step 3: Read a document
var text = new IronTesseract().Read("document.jpg").Text;
' Step 1: Install
' dotnet add package IronOcr
' Step 2: Configure license (one line at startup)
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY"
' Step 3: Read a document
Dim text As String = (New IronTesseract()).Read("document.jpg").Text
Yükleyici yok. DLL referansı yok. Diskte lisans dosyası yok. Lisans sunucusu yok. Güvenlik duvarı kuralları yok. Kapatma prosedürü yok. Lisans anahtarı bir dizedir — ortam değişkenine, appsettings.json veya Azure Key Vault'a saklayın. Yayın hedeflerini değiştirmek (örneğin bir Windows VM'den bir LinuxDockerkonteynerine) lisans yapılandırmasını değiştirmeyi gerektirmez.
IronTesseract kurulum kılavuzu, lisans dizelerini kaynak kodundan tamamen kaldıran ortam değişkeni tabanlı anahtar enjeksiyonunu içeren tam yapılandırma seçeneklerini kapsar.
SDK Kurulumu ve NuGet
Dağıtım modeli, CI/CD hatlarının,Dockerkonteynerlerinin ve bulut fonksiyonlarının yalnızca ne kadar zor kurulacaklarını değil, çalışıp çalışmayacaklarını da belirler.
Kofax OmniPage Yaklaşımı
OmniPage'in yükleyici tabanlı dağıtım modeli, modern bir dağıtım hattının her aşamasında sürtüşme yaratır. BirDockerkonteyneri oluşturmak, özel SDK yükleyicisinin görüntü içinde çalışmasını, lisans dosyasının pişirilmesini veya çalışma zamanında takılmasını, ve konteyner durmadan önce engine.Shutdown() çalıştırmasını gerektirir. OmniPage motorunu düzgün bir şekilde kapatmayan bir Kubernetes pod yeniden başlatması, lisans sunucusunun çıkış zaman aşımı süresi dolana kadar (genellikle 30-60 dakika) yüzer lisans yerlerini kilitli bırakabilir.
CI/CD hatlarında, tümleştirme testlerini çalıştıran her ajan, SDK'nın yüklenmesini ve geçerli bir lisans dosyasının bulunmasını gerekir. Test paralelliği, lisanslı koltuk sayısı ile sınırlıdır. OmniPage'in sayfa başı modeli üzerine, otomatik test çalışmaları faturalandırılabilir sayfaları tüketir.
Kofax.OmniPage.CSDK ad alanı manuel olarak eklenmiş DLL yolları üzerinden referans alınır, bir paket yöneticisi olmadığından. Yeni bir SDK sürümüne güncellemek, her geliştirme makinesi, derleme aracı ve üretim sunucusunda yükleyiciyi yeniden çalıştırmak anlamına gelir — .csproj dosyasında sürüm numarasını artırmak değil.
IronOCR Yaklaşımı
<PackageReference Include="IronOcr" Version="2024.x.x" />
<PackageReference Include="IronOcr" Version="2024.x.x" />
# Docker: no installer, no license file mount required
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"]
Docker dağıtım kılavuzu birLinuxbağımlılığı (libgdiplus için görüntü oluşturma) ve başka bir şeyi kapsamaz. Aynı NuGet paketi Linux, AWS Lambda ve Azure App Service üzerinde platforma özgü yapılandırma olmadan çalışır. CI/CD hatları paketi dotnet restore ile her diğer bağımlılık gibi geri yükler — yükleyici adımı yok, lisans dosyası yönetimi yok, test paralelliği üzerinde koltuk sayısı kısıtlamaları yok.
Lisans Sunucusu vs. Dize Anahtarı
Lisans mimarisi, üretimde saat 3'te bir şeyler ters gittiğinde operasyonel riski belirler.
Kofax OmniPage Yaklaşımı
OmniPage lisans doğrulama dizisi, OCR ile ilgisi olmayan birden fazla arıza modu oluşturur:
// OmniPage: License validation at engine startup
// Each of these can fail independently
public static void InitializeWithLicense(string licensePath)
{
// Failure mode 1: File missing (deployment error, path misconfiguration)
if (!File.Exists(licensePath))
throw new LicenseException("License file not found");
// Failure mode 2: File permissions (service account lacks read access)
try { using var stream = File.OpenRead(licensePath); }
catch (UnauthorizedAccessException)
{
throw new LicenseException("Cannot read license file — check permissions");
}
// Failure mode 3: License server unreachable (network partition, server restart)
var engine = new OmniPageEngine();
engine.SetLicenseFile(licensePath);
try
{
engine.Initialize(); // Network call to license server
}
catch (LicenseValidationException ex)
{
// Could be: expired, invalid hardware, concurrent seat limit exceeded,
// license server unreachable, or maintenance window
throw new LicenseException($"License validation failed: {ex.Message}");
}
}
// OmniPage: License validation at engine startup
// Each of these can fail independently
public static void InitializeWithLicense(string licensePath)
{
// Failure mode 1: File missing (deployment error, path misconfiguration)
if (!File.Exists(licensePath))
throw new LicenseException("License file not found");
// Failure mode 2: File permissions (service account lacks read access)
try { using var stream = File.OpenRead(licensePath); }
catch (UnauthorizedAccessException)
{
throw new LicenseException("Cannot read license file — check permissions");
}
// Failure mode 3: License server unreachable (network partition, server restart)
var engine = new OmniPageEngine();
engine.SetLicenseFile(licensePath);
try
{
engine.Initialize(); // Network call to license server
}
catch (LicenseValidationException ex)
{
// Could be: expired, invalid hardware, concurrent seat limit exceeded,
// license server unreachable, or maintenance window
throw new LicenseException($"License validation failed: {ex.Message}");
}
}
Imports System.IO
' OmniPage: License validation at engine startup
' Each of these can fail independently
Public Shared Sub InitializeWithLicense(licensePath As String)
' Failure mode 1: File missing (deployment error, path misconfiguration)
If Not File.Exists(licensePath) Then
Throw New LicenseException("License file not found")
End If
' Failure mode 2: File permissions (service account lacks read access)
Try
Using stream = File.OpenRead(licensePath)
End Using
Catch ex As UnauthorizedAccessException
Throw New LicenseException("Cannot read license file — check permissions")
End Try
' Failure mode 3: License server unreachable (network partition, server restart)
Dim engine As New OmniPageEngine()
engine.SetLicenseFile(licensePath)
Try
engine.Initialize() ' Network call to license server
Catch ex As LicenseValidationException
' Could be: expired, invalid hardware, concurrent seat limit exceeded,
' license server unreachable, or maintenance window
Throw New LicenseException($"License validation failed: {ex.Message}")
End Try
End Sub
Bir uygulama sunucusu ile lisans sunucusu arasındaki ağ bölünmesi, engine.Initialize() çağrısını, bölüm çözülene kadar başarısız yapar, lisansın daha önce o makinede doğrulanmış olup olmadığına bakılmaksızın. Sayfa başına lisanslama dördüncü bir hata modunu ekler: parti ortasında tükenen sayfa kotası.
IronOCR Yaklaşımı
// One line at application startup
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";
// Optional: verify license status
bool isLicensed = IronOcr.License.IsLicensed;
// Works offline — no license server, no network calls at runtime
var text = new IronTesseract().Read("document.jpg").Text;
// One line at application startup
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";
// Optional: verify license status
bool isLicensed = IronOcr.License.IsLicensed;
// Works offline — no license server, no network calls at runtime
var text = new IronTesseract().Read("document.jpg").Text;
Imports IronOcr
' One line at application startup
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY"
' Optional: verify license status
Dim isLicensed As Boolean = IronOcr.License.IsLicensed
' Works offline — no license server, no network calls at runtime
Dim text As String = New IronTesseract().Read("document.jpg").Text
IronOCR lisans anahtarını yerel olarak doğrular. OCR işlemleri sırasında hiçbir ağ çağrısı gerçekleşmez. Başlangıçtan sonra internet bağlantısını kaybeden bir üretim sunucusu, belgeleri kesintisiz işlemeye devam eder. lisans sayfası tüm katmanları kapsar: tek geliştirici tek proje kullanımına yönelik $999 Lite'tan, geliştirici ve proje sınırları olmayan ekipler için $5,999 Unlimited'a kadar.
Anahtar, ortam değişkeninden (IRONOCR_LICENSE_KEY) kaynaklanabilir ve kod değişiklikleri gerektirmediği için, farklı anahtarları geliştirme, hazırlık ve üretim ortamlarında değiştirilmiş ikili dosyaları değiştirmeden kullanmayı kolaylaştırır.
Yol Haritası Kararlılığı
Dört sahiplik değiştirimi geçmişi, altyapı ve güvenlik ekiplerinin sorduğu bir satın alma riski faktörüdür ve geliştiriciler dürüst bir cevap hazırlamalıdır.
Kofax OmniPage Yaklaşımı
2001'den bu yana OmniPage mülkiyet zinciri: Caere → Nuance → Kofax → Tungsten Automation. Her satın alma, belgelendirme URL'lerinin kırıldığı, destek kanallarının değiştiği, ortak ağlarının yeniden yapılandırıldığı ve yeni koşullar altında kurumsal lisans anlaşmalarının yeniden müzakere edilmesi gereken bir geçiş dönemi tanıttı. Ocak 2026 tarihli OmniPage Capture SDK 2025.3 sürümü (Linux desteği eklendi), aktif gelişimi doğrular, ancak Tungsten Automation yeniden markalandırılması henüz iki yaşında değil ve ürün yol haritası belgelendirmesi bu geçiş sırasında "inceleme altında" olarak listelendi.
3-5 yıllık kurumsal anlaşmaları satın alan ekipler için soru, OmniPage'in bugün çalışıp çalışmadığı — çalışır — değil, 2028'deki Tungsten Automation'un stratejik önceliklerinin ürünün mevcut yol haritasıyla uyumlu olup olmadığıdır. Kurumsal yazılım alımları sıklıkla, satın alanın yol haritası öncelikleri kendi platform bileşenlerine kaydığında satın alınan ürünler için bakım modu durumuyla sonuçlanır.
Sadece belgelerle bitmeyen bir süreç olan belgelendirme geçişi, operasyonel sürtünme yaratır: Kofax dönemine ait destek biletleri, belgelendirme yer imleri ve topluluk forumu gönderileri, artık doğru bir şekilde çözülmez ve bu da geliştiricilerin en çok yardım istediği anda (olaylar sırasında ve karmaşık tümleştirmeler sırasında) destek deneyimine sürtünme ekler.
IronOCR Yaklaşımı
Iron Software, tüm ürün hattı .NET kütüphanelerinden oluşan odaklanmış bir geliştirici araçları şirketidir. IronOCR, IronPDF, IronBarcode ve ilgili ürünler şirketin ana işidir — daha büyük bir kurumsal otomasyon platformuna dahil edilen bir satın alınan ürün değildir. Sürüm geçmişi, .NET sürüm kadansı ile uyumlu güncellemelerle (supporting .NET 8, .NET 9, ve hedeflenen .NET 10 compatibiliği) tutarlıdır. belgelendirme merkezi ve eğitimler, sürüme özel içeriklerle istikrarlı URL'ler altında tutulur.
API Eşleme Başvurusu
| Kofax OmniPage Konsepti | IronOCR Karşılığı |
|---|---|
using Kofax.OmniPage.CSDK; |
using IronOcr; |
OmniPageEngine |
Gerekli değil (motor yaşam döngüsü yok) |
engine.SetLicenseFile(path) |
IronOcr.License.LicenseKey = "key"; |
engine.Initialize() |
Gerekli değil |
engine.Shutdown() |
Gerekli değil |
engine.CreateDocument() |
new OcrInput() |
document.AddPage(imagePath) |
input.LoadImage(imagePath) |
engine.OpenPDF(pdfPath) |
input.LoadPdf(pdfPath) |
document.Recognize(settings) |
new IronTesseract().Read(input) |
document.GetText() |
result.Text |
document.Dispose() |
using var input = new OcrInput() (otomatik) |
engine.LoadLanguageDictionary("German") |
dotnet add package IronOcr.Languages.German |
settings.PrimaryLanguage = "English" |
ocr.Language = OcrLanguage.English; |
settings.SecondaryLanguages = new[] { "German" } |
ocr.AddSecondaryLanguage(OcrLanguage.German); |
settings.AccuracyMode = "Maximum" |
input.EnhanceResolution(300); + ön işleme filtreleri |
settings.DeskewImage = true |
input.Deskew(); |
settings.ContrastEnhancement = true |
input.Contrast(); |
settings.DespeckleLevel = 2 |
input.DeNoise(); |
pdfDocument.SaveAs(path, outputSettings) |
result.SaveAsSearchablePdf(path) |
| Sayfa başı lisans sayımı | Uygulanamaz (sayfa başı ücret yok) |
.lic diskteki dosya |
Uygulanamaz |
| Lisans sunucusu port yapılandırması | Uygulanamaz |
Ekipler Kofax OmniPage'ten IronOCR'a Geçmeyi Düşündüğünde
Bütçe Tavanı Aşıldı
Sözleşme işleme için OmniPage çalıştıran bir kurumsal ekip, belge hacmi büyüdüğünde ve sayfa başı lisanslama maliyetleri bununla birlikte ölçeklendikçe doğal bir tavana ulaşır. Çalışma zamanı ücretleri, SDK lisansı ve bakımının üzerine yıllık olarak birikir. Tek seferlik bir $2,999IronOCR Professional lisansı için iş durumu basit hale gelir; süresiz lisans, devam eden sayfa başına ücretlerle karşılaştırıldığında hızla kendini amorti eder. Bu durumda olan ekipler, tipik olarak 1.000 temsilci belgeden oluşan paralel doğruluk doğrulaması gerçekleştirir, standart fatura ve sözleşme içeriğinde OmniPage ve IronOCR arasındaki doğruluk farkının %1'in altında olduğunu bulur ve geçişi iki haftadan kısa bir sürede tamamlar.
Tedarik Zaman Çizelgesi Ürün Teslimatını Engeller
Belge dijitalleştirme özelliği geliştiren bir başlangıç veya orta ölçekli şirket, OCR sağlayıcısının satış katılımı için 4-12 hafta gerektirdiğini ve bu durumun ürün lansman tarihini kaçıracağını keşfeder. Ürün yöneticisinin satın alma için 8 haftası yoktur.IronOCR NuGet'ten 30 saniyede kurulur; IronOCR ürün sayfasından alınan bir lisans anahtarı kendi kendine hizmettir. Özellik sevk edilir. Bu senaryo hipotez değil — geliştirme ekiplerinin mühendislik liderliğine teknoloji tercihlerinin nedenlerini açıkladıklarında belgelendiklerinde en yaygın nedendir.
Dağıtım Topolojisi Değişiyor
Windows sunucuları üzerinde OmniPage çalıştıran bir ekip, Kubernetes üzerinde konteynerleştirilen dağıtıma geçmeye karar verir. OmniPage SDK yükleyicisi,Dockeryapı hattına düzgün bir şekilde uymuyor, lisans dosyasının ya monte edilmesi ya da görüntüye pişirilmesi gerekiyor (ikisi de güvenlik açısından sonuçlar doğurur) ve konteyner yeniden başlatmaları motorun kapatma/açılış yaşam döngüsünün düzgün bir şekilde ele alınmasını gerektirir. 10 konteynere yatay olarak ölçeklemek, 10 yüzer lisans yeri veya 10 düğüm kilitli lisans gerektirir. IronOCR'ın NuGet dağıtım modeli, ortam değişkeni tabanlı lisans anahtarları ve çevrimdışı lisans doğrulaması konteynerleştirilen dağıtımı kolaylaştırır. Docker dağıtım belgesi, tam kurulumu kapsar ve yatay ölçeklendirme ek lisans eylemleri gerektirmez — Unlimited lisans, sınırsız dağıtımları kapsar.
ICR Gereksinimi Ortadan Kalkar
Birçok ekip başlangıçta OmniPage'i benimser çünkü bir paydaş gereksinimi "el yazısı tanıma" özelliğini listelemiştir. Bu gereksinim kapsamlandığında — gerçek ihtiyaç kontrol kutularına sahip basılı formlar, serbest biçimli el yazısı alanlar olmadığı ortaya çıktığında — kurumsal fiyatlandırma için ICR gerekçesi buharlaşır. IronOCR, kontrol kutusu tespiti ve yapılandırılmış veri çıkartma yeteneklerini OMR'ye (optik işaret tanıma) yakın yetenekleri aracılığıyla düşük bir maliyetle işler. Ekipler, gerçek belge koleksiyonlarını yeniden değerlendirdiklerinde genellikle hacimlerinin %95'inden fazlasının basılı PDF'lerden ve taranmış faturalardan oluştuğunu, OmniPage'in ICR avantajının hiç kullanılmadığını keşfederler.
Tungsten Alımı, Risk İncelemesini Tetikler
Kurumsal tedarik ekipleri, periyodik satıcı risk incelemeleri gerçekleştirir. Bir araç sağlayıcısının 25 yılda dört kez sahiplik değiştirdiğinde, son markalaşma iki yıldan daha kısa sürede yapıldığında ve ürün yol haritası belgeleri geçiş sırasında "inceleme altında" olarak işaretlendiğinde, bazı ekipler işler yükü daha istikrarlı, odaklanmış bir geliştirici araç sağlayıcıya taşıyarak satıcı yoğunluk riskini azaltmayı seçer. Bu, teknik olduğu kadar bir iş kararıdır — IronOCR'ın standart iş belgelerindeki OCR doğruluğu, OmniPage'e rekabetçi olmakla birlikte, geçiş bir kurumsal sözleşme yenileme tartışmasını yıllık bütçe döngüsünden çıkarır.
Genel Geçiş Dikkat Edilmesi Gereken Hususlar
Motor Yaşam Döngüsünden Durumsuz Çağrılara
OmniPage entegrasyonları, başlatma sırasında başlatılması ve süreç çıkışında kapatılması gereken uzun ömürlü bir OmniPageEngine örneği etrafında inşa edilmiştir. IronOCR'da eşdeğer bir yaşam döngüsü yoktur. IronTesseract sınıfı çağrı başına örneklenir veya uzun ömürlü bir hizmet olarak paylaşılır — her iki model de çalışır.
// OmniPage pattern: service class with engine lifecycle
public class KofaxDocumentService : IDisposable
{
private OmniPageEngine _engine;
public KofaxDocumentService(string licensePath)
{
_engine = new OmniPageEngine();
_engine.SetLicenseFile(licensePath);
_engine.Initialize();
}
public string ProcessDocument(string imagePath)
{
var document = _engine.CreateDocument();
document.AddPage(imagePath);
document.Recognize(new RecognitionSettings { Language = "English" });
string text = document.GetText();
document.Dispose(); // Must not be forgotten
return text;
}
public void Dispose()
{
_engine.Shutdown(); // Must not be forgotten
}
}
// IronOCR equivalent: no lifecycle management needed
public class IronOcrDocumentService
{
private readonly IronTesseract _ocr;
public IronOcrDocumentService()
{
_ocr = new IronTesseract();
_ocr.Language = OcrLanguage.English;
}
public string ProcessDocument(string imagePath)
{
using var input = new OcrInput();
input.LoadImage(imagePath);
return _ocr.Read(input).Text;
}
// No Dispose — no unmanaged resources to release
}
// OmniPage pattern: service class with engine lifecycle
public class KofaxDocumentService : IDisposable
{
private OmniPageEngine _engine;
public KofaxDocumentService(string licensePath)
{
_engine = new OmniPageEngine();
_engine.SetLicenseFile(licensePath);
_engine.Initialize();
}
public string ProcessDocument(string imagePath)
{
var document = _engine.CreateDocument();
document.AddPage(imagePath);
document.Recognize(new RecognitionSettings { Language = "English" });
string text = document.GetText();
document.Dispose(); // Must not be forgotten
return text;
}
public void Dispose()
{
_engine.Shutdown(); // Must not be forgotten
}
}
// IronOCR equivalent: no lifecycle management needed
public class IronOcrDocumentService
{
private readonly IronTesseract _ocr;
public IronOcrDocumentService()
{
_ocr = new IronTesseract();
_ocr.Language = OcrLanguage.English;
}
public string ProcessDocument(string imagePath)
{
using var input = new OcrInput();
input.LoadImage(imagePath);
return _ocr.Read(input).Text;
}
// No Dispose — no unmanaged resources to release
}
Imports System
' OmniPage pattern: service class with engine lifecycle
Public Class KofaxDocumentService
Implements IDisposable
Private _engine As OmniPageEngine
Public Sub New(licensePath As String)
_engine = New OmniPageEngine()
_engine.SetLicenseFile(licensePath)
_engine.Initialize()
End Sub
Public Function ProcessDocument(imagePath As String) As String
Dim document = _engine.CreateDocument()
document.AddPage(imagePath)
document.Recognize(New RecognitionSettings With {.Language = "English"})
Dim text As String = document.GetText()
document.Dispose() ' Must not be forgotten
Return text
End Function
Public Sub Dispose() Implements IDisposable.Dispose
_engine.Shutdown() ' Must not be forgotten
End Sub
End Class
' IronOCR equivalent: no lifecycle management needed
Public Class IronOcrDocumentService
Private ReadOnly _ocr As IronTesseract
Public Sub New()
_ocr = New IronTesseract()
_ocr.Language = OcrLanguage.English
End Sub
Public Function ProcessDocument(imagePath As String) As String
Using input As New OcrInput()
input.LoadImage(imagePath)
Return _ocr.Read(input).Text
End Using
End Function
' No Dispose — no unmanaged resources to release
End Class
using var input = new OcrInput() modeli, giriş verileri için kaynak temizliği işlemini yönetir. IronTesseract özü, açıkça sona erdirilmesi gereken yönetilmeyen bir durum taşımaz.
Ayrı Modül Lisanslama Olmadan PDF İşleme
OmniPage PDF işlemesi tipik olarak belirli bir çıktı formatı yapılandırması gerektirir ve SDK sürümüne bağlı olarak ayrı bir PDF modül lisansı gerektirir. IronOCR'ın PDF girdi desteği, temel NuGet paketine entegre edilmiştir. Taranmış PDF'ler, yerel PDF'ler ve şifre korumalı PDF'ler, aynı API yüzeyini kullanır.
// Extract text from a scanned PDF — no extra module or license
using var input = new OcrInput();
input.LoadPdf("scanned-contract.pdf");
var result = new IronTesseract().Read(input);
Console.WriteLine(result.Text);
// Create a searchable PDF from a scanned-only PDF
result.SaveAsSearchablePdf("contract-searchable.pdf");
// Process specific pages from a large PDF
using var input = new OcrInput();
input.LoadPdfPages("large-report.pdf", 1, 10); // Pages 1–10 only
var result = new IronTesseract().Read(input);
// Extract text from a scanned PDF — no extra module or license
using var input = new OcrInput();
input.LoadPdf("scanned-contract.pdf");
var result = new IronTesseract().Read(input);
Console.WriteLine(result.Text);
// Create a searchable PDF from a scanned-only PDF
result.SaveAsSearchablePdf("contract-searchable.pdf");
// Process specific pages from a large PDF
using var input = new OcrInput();
input.LoadPdfPages("large-report.pdf", 1, 10); // Pages 1–10 only
var result = new IronTesseract().Read(input);
Imports IronOcr
' Extract text from a scanned PDF — no extra module or license
Using input As New OcrInput()
input.LoadPdf("scanned-contract.pdf")
Dim result = New IronTesseract().Read(input)
Console.WriteLine(result.Text)
End Using
' Create a searchable PDF from a scanned-only PDF
result.SaveAsSearchablePdf("contract-searchable.pdf")
' Process specific pages from a large PDF
Using input As New OcrInput()
input.LoadPdfPages("large-report.pdf", 1, 10) ' Pages 1–10 only
Dim result = New IronTesseract().Read(input)
End Using
Aranabilir PDF çıktı kılavuzu, belgelerde yaygın bir gereksinim olan taranan PDF'leri belge yönetim sistemlerinde dizine eklenebilir hale getiren metin katmanı yerleştirmesini kapsar — aynı iş akışlarında OmniPage'in kullanıldığı.
Dil Paketi Dağıtımı
OmniPage dil sözlükleri, SDK kurulumunun bir parçasıdır ve mevcut belgenin onlara ihtiyaç duyup duymadığına bakılmaksızın motor başlangıcında yüklenir.IronOCR dil paketleri ayrı NuGet paketleridir; yalnızca yüklenen ve referans verilen diller yüklenir.
// Add language packs as NuGet packages, not installer components
// dotnet add package IronOcr.Languages.German
// dotnet add package IronOcr.Languages.French
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;
ocr.AddSecondaryLanguage(OcrLanguage.German);
ocr.AddSecondaryLanguage(OcrLanguage.French);
using var input = new OcrInput();
input.LoadImage("multilingual-document.jpg");
var result = ocr.Read(input);
// Add language packs as NuGet packages, not installer components
// dotnet add package IronOcr.Languages.German
// dotnet add package IronOcr.Languages.French
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;
ocr.AddSecondaryLanguage(OcrLanguage.German);
ocr.AddSecondaryLanguage(OcrLanguage.French);
using var input = new OcrInput();
input.LoadImage("multilingual-document.jpg");
var result = ocr.Read(input);
Imports IronOcr
' Add language packs as NuGet packages, not installer components
' dotnet add package IronOcr.Languages.German
' dotnet add package IronOcr.Languages.French
Dim ocr As New IronTesseract()
ocr.Language = OcrLanguage.English
ocr.AddSecondaryLanguage(OcrLanguage.German)
ocr.AddSecondaryLanguage(OcrLanguage.French)
Using input As New OcrInput()
input.LoadImage("multilingual-document.jpg")
Dim result = ocr.Read(input)
End Using
Çoklu diller kılavuzu, dil kombinasyonu örüntülerini kapsar. Dil paketleri, CI/CD hatlarında dotnet restore ile yükleyici katılımı olmadan geri yüklenir. tam diller kataloğu, mevcut olan 125'ten fazla paketin tamamını listeler.
Ön İşleme: Ayar Nesnesi vs. Yöntem Hattı
OmniPage, motorun iletilen bir RecognitionSettings veya PreprocessingSettings nesnesi aracılığıyla ön işleme yapılandırır. IronOCR, OcrInput üzerinde bir yöntem hattı olarak ön işlemeyi açığa çıkarır. Davranış eşdeğerdir; çağrı modeli farklıdır.
// OmniPage: preprocessing embedded in RecognitionSettings
var preprocessSettings = new PreprocessingSettings
{
AutoRotate = true,
Deskew = true,
DespeckleLevel = 2,
ContrastEnhancement = true,
NoiseReduction = true
};
var recognitionSettings = new RecognitionSettings
{
Language = "English",
Preprocessing = preprocessSettings
};
// IronOCR: preprocessing as method pipeline on OcrInput
using var input = new OcrInput();
input.LoadImage(imagePath);
input.Deskew();
input.DeNoise();
input.Contrast();
input.Binarize();
input.EnhanceResolution(300);
var result = new IronTesseract().Read(input);
// OmniPage: preprocessing embedded in RecognitionSettings
var preprocessSettings = new PreprocessingSettings
{
AutoRotate = true,
Deskew = true,
DespeckleLevel = 2,
ContrastEnhancement = true,
NoiseReduction = true
};
var recognitionSettings = new RecognitionSettings
{
Language = "English",
Preprocessing = preprocessSettings
};
// IronOCR: preprocessing as method pipeline on OcrInput
using var input = new OcrInput();
input.LoadImage(imagePath);
input.Deskew();
input.DeNoise();
input.Contrast();
input.Binarize();
input.EnhanceResolution(300);
var result = new IronTesseract().Read(input);
Imports IronOcr
' OmniPage: preprocessing embedded in RecognitionSettings
Dim preprocessSettings As New PreprocessingSettings With {
.AutoRotate = True,
.Deskew = True,
.DespeckleLevel = 2,
.ContrastEnhancement = True,
.NoiseReduction = True
}
Dim recognitionSettings As New RecognitionSettings With {
.Language = "English",
.Preprocessing = preprocessSettings
}
' IronOCR: preprocessing as method pipeline on OcrInput
Using input As New OcrInput()
input.LoadImage(imagePath)
input.Deskew()
input.DeNoise()
input.Contrast()
input.Binarize()
input.EnhanceResolution(300)
Dim result = New IronTesseract().Read(input)
End Using
Görüntü kalitesi düzeltme kılavuzu, tüm mevcut filtreleri kapsar. Varsayılan otomatik ön işlemenin yeterli olduğu belgelerde, açık çağrılar gerekmez —IronOCR otomatik olarak kayma düzeltme, gürültü azaltma ve kontrast geliştirme uygular.
Ek IronOCR Yetenekleri
Yukarıdaki karşılaştırma bölümlerinde ele alınan özelliklerin ötesinde,IronOCRşunları sağlar:
- Bölge tabanlı OCR: Bir belgedeki belirli alanlardan metin çıkarmak için
CropRectanglebölgeler tanımlayın — fatura numarası alanları, başlık bölgeleri, imza blokları — tüm sayfayı işlemeye gerek kalmadan - Asenkron OCR: ASP.NET istek işleyicileri ve arka plan hizmetlerinde engellemesiz OCR için yerel asenkron destek
- İlerleme takibi: Çok sayfalı belge işlemesi, uzun süreli toplu işlemlerde kullanıcı arayüzü geri bildirimi için ilerleme geri aramalarını açığa çıkarır
- Taranmış belge işlemesi: Kurumsal belge yakalama iş akışlarında en yaygın olan tarama kalitesi profilleri için özel rehberlik
- Tablo çıkarma: Taranmış belgelerde yapılandırılmış tablo okuma, hücre düzeyinde verileri satır ve sütun konumlandırmasıyla geri döndürme
.NET Uyumluluğu ve Geleceğe Hazırlık
IronOCR, .NET 8 ve .NET 9'u hedefler ve standart sürüm takvimiyle .NET 10 uyumluluğu takip eder. Kütüphane, yönetilecek platforma özgü paketler olmadan bir çapraz platform NuGet paketi olarak gönderilir — aynı <PackageReference Include="IronOcr" /> girişi, Windows, Linux, vemacOSCI derlemeleri arasında çalışır.Kofax OmniPage SDK2025.3, Ocak 2026'daLinuxdesteği ekledi ancak macOS'u desteklemiyor, bu da Apple Silicon donanımında ekiplerin geliştirme ortamlarını sınırlıyor. IronOCR, MAUI, Blazor Sunucu, ASP.NET Core, Çalışan Hizmetler, Azure Fonksiyonları ve konsol uygulamalarını aynı paket üzerinden destekler, çerçeveye özgü varyantlar gerektirmez. Bulut yerel dağıtım mimarilerini hedefleyen ekipler (konteynerleştirilmiş mikro hizmetler, sunucusuz fonksiyonlar, Kubernetes yükleri) IronOCR'ın bağımlılık modelini — bir yükleyici veya lisans dosyası gerektirmeyen tek bir NuGet paketi — altyapı-kaosuyla ve değişmez dağıtım kalıplarıyla önemli ölçüde daha uyumlu bulacaklardır.
Sonuç
Kofax OmniPage, özellikle ICR el yazısı tanıma ve OMR form işleme için, yüksek hacimli kurumsal belge yakalama için gerçek bir doğruluk ölçütüdür. Form işleme merkezlerinden, devlet dijitalleştirme programlarından veya bankacılık belge iş akışlarından milyonlarca sayfa geçiren ve zaten kurumsal tedarik altyapısına sahip organizasyonlar, savunulabilir nedenlerle kullanır. 30 yıllık doğruluk geçmişi gerçektir.
2005 yılında kurumsal belge yönetimi yazılımı için anlamlı olan tedarik modeli ve dağıtım mimarisi, 2026'da önemli sürtünme yaratır. OmniPage'in SDK dağıtım modeli tasarlandığında NuGet mevcut değildi. CI/CD hatları,Dockerkonteynerleri ve sunucusuz fonksiyonlar dağıtım hedefleri değildi. .lic dosyaları, donanım parmak izi ve ağ lisans sunucuları etrafında oluşturulan bir lisans mimarisi, değişmez konteyner görüntüleri ve otomatik ölçeklenebilir bulut altyapısı ile yapısal olarak uyumsuzdur.
.NET OCR iş yüklerinin ezici çoğunluğu için — faturalar, sözleşmeler, taranmış PDF'ler, kimlik belgeleri, makbuzlar — temizden orta derecede bozulan belgelere kadar OmniPage ve IronOCR arasındaki doğruluk farkı %1'in altındadır. O %1, 4-12 haftalık tedarik zaman çizelgesini, önemli giriş fiyatını, yıllık bakım ücretlerini, sayfa başına çalışma zamanı maliyetlerini, lisans sunucusu operasyonel yükünü ve containerize edilmiş altyapıyla çelişen dağıtım modelini gerekçelendirmez. $999 süresiz IronOCR, standart iş belgelerinin içeriğinde %95+ doğrulukla sağlar, 30 saniyede kurulur, yükleyici adımları olmadanDockerve Linux'a dağıtılır ve çalışma zamanında ağ bağımlılığı olmadan bir dize anahtarı aracılığıyla lisanslanır.
Önemli olan karşılaştırma, bozulmuş tarihsel belgeler üzerinde OmniPage'in ICR doğruluğu değil IronOCR'ın — bu hassasiyet kademesine gerçekten ihtiyaç duyan herhangi bir projenin aynı zamanda kurumsal tedarik altyapısına, lisans sunucusu operasyonel kapasitesine ve yükleyici tabanlı SDK dağıtımı için dağıtım toleransına sahip olup olmadığıdır. Tüm üç cevabın evet olması halinde, OmniPage meşru bir seçenektir. Herhangi bir cevap hayır ise,IronOCR belgeleri aynı gün üretimde olunması için gerekli her şeyi kapsar.
Sıkça Sorulan Sorular
Kofax OmniPage nedir?
Kofax OmniPage, 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, Kofax OmniPage ile nasıl karşılaştırılır?
IronOCR, IronTesseract'ı temel motoru olarak kullanan bir NuGet yerli .NET OCR kütüphanesidir. Kofax OmniPage'e 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, Kofax OmniPage'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.
Kofax OmniPage 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.
Kofax OmniPage 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, Kofax OmniPage'den 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.
Kofax OmniPage 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.
Kofax OmniPage'den IronOCR'ye geçiş yapmak kolay mı?
Kofax OmniPage'den 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.

