Sonuçları bir HTML Dosyası Olarak hOCR Olarak Nasıl Kaydedilir | IronOCR

IronOCR ile C##'da hOCR HTML Olarak OCR Sonuçlarını Kaydedin

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCR, geliştiricilerin RenderHocr değerini true olarak ayarlayıp SaveAsHocrFile veya SaveAsHocrString yöntemlerini kullanarak OCR sonuçlarını hOCR HTML dosyaları olarak kaydetmelerine olanak tanır ve metin düzenini ve karakter koordinatlarını yapılandırılmış HTML biçiminde korur.

Hızlı Başlangıç: OCR Çıktısını hOCR HTML Dosyası Olarak Kaydedin

Tek bir yapılandırma ve bir yöntem çağrısı ile hOCR işleme etkinleştirin ve sonuçları doğrudan bir HTML dosyasına dışa aktarın.

  1. IronOCR aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronOcr
  2. Bu kod parçacığını kopyalayın ve çalıştırın.

    var hocr = new IronTesseract { Configuration = { RenderHocr = true } }.Read(new OcrInput("image.png")).SaveAsHocrString();
  3. Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronOCR kullanmaya başlayın

    arrow pointer


hOCR Nedir ve Neden Kullanılır?

hOCR, "HTML tabanlı OCR" anlamına gelir ve Optik Karakter Tanıma (OCR) sonuçlarını yapısal olarak temsil etmek için kullanılan bir dosya formatıdır. hOCR dosyaları HTML'de yazılır ve bir görüntü veya belge içinde tanınan her karakterin koordinatları dahil olmak üzere tanınan metni, düzen bilgilerini ve koordinatları saklama imkanı sağlar. Bu yapısal format, belge indeksleme, erişilebilirlik araçları ve gelişmiş arama uygulamaları gibi metin konumu verisi gerektiren uygulamalar için hOCR'yi özellikle değerli kılar.

hOCR formatı, geliştiricilerin sadece hangi metnin mevcut olduğunu değil, bu metnin orijinal belgede nerede bulunduğunu anlamaları gereken uygulamalar geliştirenler için gereklidir. Bu mekansal bilgi, hata ayıklama için metin vurgulama, orijinal görüntüler üzerinde tıklanabilir üst üste bindirme yapma özellikleri sağlar ve taranmış belgeleri erişilebilir formatlara dönüştürürken belge düzeni bütünlüğünü koruyabilir. Kuruluş uygulamaları taranmış belgeleri işlerse, hOCR, gelişmiş belge anlama ve çıkartma iş akışlarına yönelik temel sağlar.

OCR Sonuçlarını hOCR Dosyaları Olarak Nasıl Dışa Aktarırım?

Sonucu hOCR olarak dışa aktarmak için, önce Configuration.RenderHocr özelliğini true olarak ayarlayarak etkinleştirin. Read yönteminden OcrResult nesnesini aldıktan sonra, SaveAsHocrFile yöntemini kullanarak OCR sonucunu HTML olarak dışa aktarın. Bu yöntem, giriş belgelerinin okuma sonucunu içeren bir HTML dosyası çıkışı alır. Aşağıdaki kod, aşağıdaki örnek TIFF dosyasını kullanarak nasıl kullanılacağını gösterir.

:path=/static-assets/ocr/content-code-examples/how-to/html-export-export-html.cs
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Enable render as hOCR
ocrTesseract.Configuration.RenderHocr = true;

// Add image
using var imageInput = new OcrImageInput("Potter.tiff");
imageInput.Title = "Html Title";

// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Export as HTML
ocrResult.SaveAsHocrFile("result.html");
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Enable render as hOCR
ocrTesseract.Configuration.RenderHocr = True

' Add image
Dim imageInput = New OcrImageInput("Potter.tiff")
imageInput.Title = "Html Title"

' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)

' Export as HTML
ocrResult.SaveAsHocrFile("result.html")
$vbLabelText   $csharpLabel

OcrInput sınıfı, OCR işleme öncesinde görüntüleri hazırlamak için kapsamlı seçenekler sağlar. Filtreler uygulayabilir, ilgi alanlarını belirtebilir ve çok sayfalı TIFF dosyaları dahil çeşitli giriş formatlarını işleyebilirsiniz. PDF OCR metin çıkartma ile çalışırken aynı hOCR dışa aktarma yöntemleri sorunsuz şekilde uygulanır.

RenderHocr Ayarlamak Neden Önemli?

RenderHocr özelliğini true olarak ayarlamak, IronOCR'ye OCR işlemi sırasında gerekli hOCR yapısını oluşturması talimatını verir. Bu yapılandırma olmadan, SaveAsHocrFile ve SaveAsHocrString yöntemleri, düzeni koruyarak düzgün biçimlendirilmiş hOCR çıktısı üretmez. Bu yapılandırma, Tesseract motorunun çıktı verilerini işleme ve yapılandırma şeklini etkilediği için Read yöntemini çağırmadan önce ayarlanmalıdır.

hOCR formatı, şunlar dahil önemli meta verileri korur:

  • Karakter düzeyinde sınırlayıcı kutular
  • Kelime güven puanları
  • Satır ve paragraf yapısı
  • Sayfa boyutları ve DPI bilgileri
  • Eğer algılanabilirse yazı tipi özellikleri

Bu meta veri, sadece metin çıkartmanın ötesinde belge yapısını anlaması gereken sistemler veya bilgisayarla görme iş akışlarının uygulanması için özellikle yararlıdır.

hOCR Dışa Aktarımını Destekleyen Dosya Türleri Nelerdir?

IronOCR, TIFF, PNG, JPEG, BMP ve GIF dahil çeşitli görüntü formatlarından hOCR dışa aktarımını destekler. PDF belgeleri de işlenip hOCR olarak dışa aktarılabilir, her sayfanın metin ve düzen bilgileri HTML yapısında korunur. Kütüphane, hem tek sayfalı görüntüleri hem de çok sayfalı belgeleri sorunsuz bir şekilde işler.

Farklı dosya türleri için optimal sonuçlar:

  • TIFF: Tarama belgeleri için idealdir, çok sayfalı işlemeyi destekler
  • PDF: Karışık içerikler (metin ve görüntüler) için mükemmeldir
  • PNG/JPEG: OCR gerektiren fotoğraflar veya ekran görüntüleri için en iyisidir
  • BMP: Yüksek kaliteli taramalar için uygun sıkıştırılmamış format

Pasaportlar veya plakalar gibi özel belge türleriyle çalışırken, hOCR formatı farklı metin öğeleri arasındaki mekansal ilişkileri koruyarak belirli alanları konumlarına dayalı olarak çıkarmayı kolaylaştırır.

OCR Sonuçlarını HTML Dizeleri olarak Nasıl Dışa Aktarırım?

Aynı TIFF örnek görüntüsünü kullanarak, SaveAsHocrString yöntemini kullanarak OCR sonucunu bir HTML dizesi olarak dışa aktarın. Bu yöntem bir HTML dizelisini geri döndürür.

:path=/static-assets/ocr/content-code-examples/how-to/html-export-export-html-string.cs
// Export as HTML string
string hocr = ocrResult.SaveAsHocrString();
' Export as HTML string
Dim hocr As String = ocrResult.SaveAsHocrString()
$vbLabelText   $csharpLabel

Dize çıktısı, daha fazla işlenebilen, veritabanlarında saklanabilen veya web uygulamalarına entegre edilebilen tam hOCR işaretlemesini içerir. Bu yaklaşım, arama yapılabilir PDF sistemleri oluştururken veya özel belge indeksleme çözümleri uygularken özellikle yararlıdır. 125 uluslararası dil ile çalışan geliştiriciler için hOCR formatı, dil özel metin özelliklerini ve okuma yön bilgilerini korur.

Dizgi Çıkısı Yerine Ne Zaman Kullanılmalı?

Dizgi çıkışı, hOCR verilerini bellek içinde işlemeye veya manipüle etmeye, web hizmetleriyle entegre etmeye veya sonuçları bir veritabanında depolamaya ihtiyacınız olduğunda idealdir. Bu yaklaşım, dosya sistemi bağımlılıklarını önler ve web uygulamaları için dinamik HTML üretimini mümkün kılar. Yaygın kullanım alanları şunlardır:

  • Web API Entegrasyonu: hOCR verilerini doğrudan API yanıtları olarak döndürün
  • Veritabanı Saklama: Belge meta verileri ile OCR sonuçlarını saklayın
  • Gerçek Zamanlı İşleme: Disk G/Ç yükü olmadan sonuçları işleyin
  • Bulut İşlevleri: Sınırlı dosya erişimi olan sunucusuz ortamlarda çalışın
  • İçerik Yönetim Sistemleri: OCR sonuçlarını mevcut belge iş akışlarına entegre edin

İlerleme takibi gerektiren uygulamalar için, dizgi çıktısı, geçici sonuçlar kullanıma hazır olduğunda anında işlenmesini sağlar. Bu, çok iş parçacıklı OCR işlemeyi uygularken, birden fazla belgenin eşzamanlı olarak işlendiği durumlarda özellikle faydalıdır.

Birden Fazla Sayfayı HTML Dizelerine Nasıl İşlerim?

Çok sayfalı belgelerle çalışırken, SaveAsHocrString tüm sayfaları uygun sayfa bölmeleriyle tek bir HTML dizesine birleştirir. Her sayfanın içeriği uygun hOCR elemanları içinde sarılmıştır ve belge yapısını ve sayfa sınırlarını korur.

// Processing multi-page documents
using var multiPageInput = new OcrPdfInput("multi-page-document.pdf");
multiPageInput.Title = "Multi-Page Document";

 // Configure for hOCR output
 IronTesseract tesseract = new IronTesseract();
 tesseract.Configuration.RenderHocr = true;

 // Read all pages
 OcrResult result = tesseract.Read(multiPageInput);

 // Export as single HTML string with all pages
 string fullHocr = result.SaveAsHocrString();

 // Or process page by page
 foreach (var page in result.Pages)
 {
     string pageHocr = page.SaveAsHocrString();
     // Process individual page hOCR
 }
// Processing multi-page documents
using var multiPageInput = new OcrPdfInput("multi-page-document.pdf");
multiPageInput.Title = "Multi-Page Document";

 // Configure for hOCR output
 IronTesseract tesseract = new IronTesseract();
 tesseract.Configuration.RenderHocr = true;

 // Read all pages
 OcrResult result = tesseract.Read(multiPageInput);

 // Export as single HTML string with all pages
 string fullHocr = result.SaveAsHocrString();

 // Or process page by page
 foreach (var page in result.Pages)
 {
     string pageHocr = page.SaveAsHocrString();
     // Process individual page hOCR
 }
Imports IronOcr

' Processing multi-page documents
Using multiPageInput As New OcrPdfInput("multi-page-document.pdf")
    multiPageInput.Title = "Multi-Page Document"

    ' Configure for hOCR output
    Dim tesseract As New IronTesseract()
    tesseract.Configuration.RenderHocr = True

    ' Read all pages
    Dim result As OcrResult = tesseract.Read(multiPageInput)

    ' Export as single HTML string with all pages
    Dim fullHocr As String = result.SaveAsHocrString()

    ' Or process page by page
    For Each page In result.Pages
        Dim pageHocr As String = page.SaveAsHocrString()
        ' Process individual page hOCR
    Next
End Using
$vbLabelText   $csharpLabel

Bu yaklaşım, PDF akışları ile sorunsuz çalışır ve belirli sayfa aralıklarını işlemek veya farklı sayfalara farklı OCR yapılandırmaları uygulamak gibi ileri düzey senaryoları destekler.

Gelişmiş hOCR Uygulama İpuçları

hOCR Çıkış Kalitesi İçin En İyi Uygulamalar Nelerdir?

hOCR çıktınızın kalitesini en üst düzeye çıkarmak için işleme başlamadan önce görüntü optimizasyon filtreleri uygulamayı düşünün:

var input = new OcrImageInput("document.png");
input.DeNoise();  // Remove image noise
input.Deskew();   // Correct image rotation
input.Scale(2);   // Upscale for better recognition

IronTesseract ocr = new IronTesseract();
ocr.Configuration.RenderHocr = true;
var result = ocr.Read(input);
var input = new OcrImageInput("document.png");
input.DeNoise();  // Remove image noise
input.Deskew();   // Correct image rotation
input.Scale(2);   // Upscale for better recognition

IronTesseract ocr = new IronTesseract();
ocr.Configuration.RenderHocr = true;
var result = ocr.Read(input);
Dim input As New OcrImageInput("document.png")
input.DeNoise()  ' Remove image noise
input.Deskew()   ' Correct image rotation
input.Scale(2)   ' Upscale for better recognition

Dim ocr As New IronTesseract()
ocr.Configuration.RenderHocr = True
Dim result = ocr.Read(input)
$vbLabelText   $csharpLabel

Düşük kaliteli taramalar için, ek ön işleme adımları hOCR doğruluğunu önemli ölçüde artırabilir. Filtre sihirbazı, belirli belge türleriniz için optimal filtre kombinasyonlarını belirlemenize yardımcı olur.

hOCR Yapısı İleri İşleme Nasıl Destekler?

Oluşturulan hOCR, belge hiyerarşisini temsil eden iç içe geçmiş div öğeleriyle standart spesifikasyona uyar:

<div class='ocr_page' title='bbox 0 0 2480 3508'>
  <div class='ocr_carea' title='bbox 156 114 2324 3395'>
    <p class='ocr_par' title='bbox 157 114 2323 164'>
      <span class='ocr_line' title='bbox 157 114 2323 164'>
        <span class='ocr_word' title='bbox 157 114 294 161'>Hello</span>
        <span class='ocr_word' title='bbox 334 119 483 161'>World</span>
      </span>
    </p>
  </div>
</div>
<div class='ocr_page' title='bbox 0 0 2480 3508'>
  <div class='ocr_carea' title='bbox 156 114 2324 3395'>
    <p class='ocr_par' title='bbox 157 114 2323 164'>
      <span class='ocr_line' title='bbox 157 114 2323 164'>
        <span class='ocr_word' title='bbox 157 114 294 161'>Hello</span>
        <span class='ocr_word' title='bbox 334 119 483 161'>World</span>
      </span>
    </p>
  </div>
</div>
HTML

Bu yapı, hassas metin konum tespiti ve gelişmiş belge analizi yeteneklerini mümkün kılarak, mekansal metin ilişkileri veya yerleşim koruması gerektiren uygulamalar için değerli hale getirir. Tablo çıkarımı ile çalışırken, hOCR formatı tablo yapısını ve hücre ilişkilerini korumaya yardımcı olur.

Bbox (çevreleyen kutu) öznitelikleri, her bir metin öğesi için piksel hassasiyetinde konum verisi sağlayarak "bbox sol üst sağ alt" formatında koordinatlar içerir. Bu bilgi şunlar için kritik öneme sahiptir:

Metin seçimi ile etkileşimli belge görüntüleyicileri oluşturma Düzeni koruyan redaksiyon sistemlerinin uygulanması

  • Okuma sırasını koruyan erişilebilirlik araçları geliştirme
  • Belge karşılaştırma sistemleri geliştirme

Geliştiricilerin daha ayrıntılı yapılandırma seçeneklerine ihtiyaç duyması durumunda, Tesseract ayrıntılı yapılandırma kılavuzu, hOCR çıktı kalitesi ve yapısını etkileyen gelişmiş ayarlar sunar.

RenderHocr

Sıkça Sorulan Sorular

hOCR nedir ve OCR uygulamaları için neden yararlıdır?

hOCR (HTML tabanlı OCR), OCR sonuçlarını tanınan metin ve karakter koordinatları gibi mekansal bilgileri depolayan yapılandırılmış HTML formatında temsil eden bir dosya biçimidir. IronOCR, metin konum verileri, belge dizinleme ve erişilebilirlik araçları gibi uygulamalar için değerli olan hOCR dışa aktarmayı destekler.

C# OCR uygulamamda hOCR çıktısını nasıl etkinleştiririm?

IronOCR ile hOCR çıktısını etkinleştirmek için, IronTesseract örneğinizde Configuration.RenderHocr özelliğini true olarak ayarlayın. Bu, IronOCR'ye OCR sonuçlarını hOCR formatında hazırlaması talimatını verir ve SaveAsHocrFile veya SaveAsHocrString yöntemlerini kullanarak sonuçları dışa aktarmanızı sağlar.

hOCR sonuçlarını dışa aktarmak için hangi yöntemler mevcuttur?

IronOCR, hOCR sonuçlarını dışa aktarmak için iki yöntem sunar: SaveAsHocrFile() sonuçları diske doğrudan bir HTML dosyası olarak kaydeder ve SaveAsHocrString() ise uygulamanızda daha fazla işleme veya depolama için hOCR HTML'yi bir dize olarak döndürür.

OCR sonuçlarını tek satırda hOCR olarak dışa aktarabilir miyim?

Evet, IronORC yöntem zincirlemesi kullanarak tek satırlık hOCR dışa aktarıma izin verir. RenderHocr etkinleştirilmiş bir IronTesseract örneği oluşturabilirsiniz, girişinizi okuyabilir ve SaveAsHocrString() çağırabilirsiniz: var hocr = new IronTesseract { Configuration = { RenderHocr = true } }.Read(new OcrInput("image.png")).SaveAsHocrString();

hOCR, OCR sonuçlarından hangi tür mekansal bilgileri korur?

hOCR, orijinal görüntü veya belge içinde tanınan her karakterin yerleşim bilgilerini ve koordinatlarını korur. IronOCR'nun hOCR dışa aktarma işlemi bu mekansal verileri muhafaza eder ve hata ayıklama için metin vurgulama, görüntüler üzerinde tıklanabilir örtüşmeler oluşturma ve orijinal belgede metnin nerede bulunduğunu anlama gibi özellikleri etkinleştirir.

IronOCR birden fazla dili destekliyor mu?

IronOCR, birden çok dili destekler ve farklı dillerde metin tanımaya ihtiyaç duyan global uygulamalar için çok yönlü bir araçtır.

IronOCR mevcut uygulamalara entegre edilebilir mi?

IronOCR, C# kullanarak mevcut uygulamalara kolayca entegre edecek şekilde tasarlanmıştır, bu sayede geliştiriciler, yazılımlarına minimal çabayla OCR işlevselliği ekleyebilir.

IronOCR'yi belge yönetimi için kullanmanın faydaları nelerdir?

IronOCR'yi belge yönetimi için kullanmak, taranmış belgeleri aranabilir ve düzenlenebilir metne dönüştürerek iş akışını hızlandırır, manuel veri giriş ihtiyacını azaltır ve belge erişilebilirliğini artırır.

IronOCR veri doğruluğunu nasıl artırabilir?

IronOCR, gelişmiş tanıma algoritmaları ve görüntü düzeltme özellikleriyle veri doğruluğunu artırır, böylece metin çıkarım sürecinin hem güvenilir hem de kesin olmasını sağlar.

IronOCR için ücretsiz bir deneme mevcut mu?

Evet, Iron Software, IronOCR'nin özelliklerini ve yeteneklerini, bir satın alma kararı vermeden önce test edebilmek için ücretsiz bir deneme sunar.

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
Gözden Geçiren
Jeff Fritz
Jeffrey T. Fritz
Baş Program Yöneticisi - .NET Topluluğu Ekibi
Jeff, .NET ve Visual Studio ekipleri için bir Baş Program Yöneticisidir. .NET Conf sanal konferans serisinin baş yapımcısıdır ve haftada iki kez canlı yayınlanan 'Fritz and Friends' adlı bir akış programı sunar; burada izleyicilerle birlikte teknoloji konuşur ve kod yazar. Jeff, en büyük Microsoft geliştirici etkinlikleri için atölyeler, sunumlar ve içerik planları yazar, Microsoft Build, Microsoft Ignite, .NET Conf ve Microsoft MVP Summit gibi etkinliklerde yer alır.
Başlamaya Hazır mısınız?
Nuget İndirmeler 5,896,332 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronOcr
örnek çalıştır görüntünüzün aranabilir metin haline gelmesini izleyin.