IRONSOFTWAREHOME

使用IronOCR在C#中將OCR結果保存為hOCR HTML

Curtis Chau
Curtis Chau
Updated: 2026年6月4日

IronOCR使開發者能夠將OCR結果保存為hOCR HTML文件,只需設置SaveAsHocrString方法,能夠在結構化HTML格式中保留文字佈局和字元坐標。

快速入門:將OCR輸出保存為hOCR HTML文件

啟用hOCR渲染並直接將結果導出到HTML文件,只需一次設置和一次方法調用。

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2複製並運行這段程式碼片段。

    var hocr = new IronTesseract { Configuration = { RenderHocr = true } }.Read(new OcrInput("image.png")).SaveAsHocrString();
    C#
  3. 3部署以在您的實時環境中測試

    今天就開始在您的專案中使用IronOCR,透過免費試用
    arrow pointer

什麼是hOCR以及為什麼使用它?

hOCR,即"基於HTML的OCR",是一種用於以結構化方式表示光學字元識別(OCR)結果的文件格式。 hOCR文件以HTML編寫,提供了一種儲存已識別文字、佈局資訊以及圖像或文件中每個已識別字元坐標的方法。 這種結構化格式對於需要文字位置資料的應用程式特別有價值,例如文件索引、無障礙工具和高級搜索實施。

對於開發需要了解不僅文字內容還需要知道文字在原始文件出現位置的應用程式而言,hOCR格式是必不可少的。 這些空間資訊支持功能如突出顯示用於除錯的文字,在原始圖像上建立可點擊的覆蓋層,以及在將掃描文件轉換為可存取格式時保持文件佈局的完整性。 對於處理掃描文件的企業應用程式來說,hOCR為高級文件理解和提取工作流程提供了基礎。

如何將OCR結果導出為hOCR文件?

要導出結果為hOCR,首先啟用Configuration.RenderHocr屬性設置為true。 在從Read方法獲得OcrResult物件後,使用SaveAsHocrFile方法將OCR結果導出為HTML。 此方法輸出包含輸入文件閱讀結果的HTML文件。 下面的程式碼展示使用樣例TIFF文件

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");

OcrInput類提供了在OCR處理之前準備圖像的大量選項。 您可以使用過濾器,指定感興趣的區域,並處理各種輸入格式包括多頁TIFF文件。 在處理PDF OCR文字提取時,相同的hOCR導出方法無縫適用。

為什麼設置RenderHocr很重要?

設置RenderHocr屬性為true可指示IronOCR在OCR過程中生成必要的hOCR結構。 如果沒有這種配置,SaveAsHocrString方法將不會產生正確格式的hOCR輸出以及佈局保留。 必須在調用Read方法之前設置此配置,因為它會影響Tesseract引擎如何處理和構建輸出資料。

hOCR格式保留了關鍵的元資料包括:

  • 字元級的邊框框
  • 單詞信心分數
  • 行和段落結構
  • 頁面尺寸和DPI資訊
  • 字體特徵(在可檢測時)

當實現計算機視覺工作流程或構建需要了解文件結構超越簡單文字提取的系統時,這些元資料特別有用。

哪些文件型別支持hOCR導出?

IronOCR支持從多種圖像格式導出hOCR,包括TIFF、PNG、JPEG、BMP和GIF。 PDF文件也可以被處理並導出為hOCR,其中每頁的文字和佈置資訊以HTML結構保存。 程式庫能夠無縫處理單頁圖像和多頁文件。

對於不同文件型別獲得最佳結果:

  • TIFF:理想的掃描文件,支持多頁處理
  • PDF:優秀的混合內容(文字和圖像)
  • PNG/JPEG:最佳用於需要OCR的照片或截圖
  • BMP:適合高質量掃描的未壓縮格式

處理特殊文件型別,如護照車牌,hOCR格式幫助保留不同文字元素之間的空間關係,從而更容易根據位置提取特定欄位。

如何將OCR結果導出為HTML字串?

使用相同的TIFF樣例圖像,利用SaveAsHocrString方法將OCR結果導出為HTML字串。 此方法返回一個HTML字串。

// Export as HTML string
string hocr = ocrResult.SaveAsHocrString();

字串輸出包含完整的hOCR標記,可以進一步處理、儲存在資料庫或整合到網路應用中。 這種方法尤其適合構建可檢索的PDF系統或實施自定文件索引解決方案時使用。 對於使用125種國際語言的開發者來說,hOCR格式保留語言特定的文字屬性和讀取方向資訊。

什麼時候應該使用字串輸出而不是文件?

字串輸出理想當您需要在記憶體中處理或操作hOCR資料,整合到網路服務中,或將結果儲存在資料庫中。 此方法避免了文件系統依賴,並使網路應用動態生成HTML成為可能。 常見用例包括:

  • 網路API整合:直接在API回應中返回hOCR資料
  • 資料庫儲存:將OCR結果與文件元資料一起儲存
  • 實時處理:處理結果而不受磁盤I/O負擔影響
  • 雲端功能:在伺服器無環境中有限的文件存取下工作
  • 內容管理系統:將OCR結果整合至現有文件工作流程中

對於需要進度追蹤的應用程式,字串輸出允許在部分結果可用時立即處理。 這在實施多執行緒OCR處理時特別有利,那時多個文件同時被處理。

如何將多頁文件處理為HTML字串?

處理多頁文件時,SaveAsHocrString會將所有頁合併為一個HTML字串,保持正確的頁面分隔。 每頁內容都包裹在相應的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();
C#

這種方法無縫支持PDF流,並支持高級情境如處理特定頁範圍或將不同的OCR配置應用於不同頁面。

先進的hOCR實施技巧

hOCR輸出品質的最佳實踐是什麼?

為了最大化您的hOCR輸出品質,考慮在處理之前應用圖像優化過濾器

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);

針對低質量掃描,額外的預處理步驟可顯著提高hOCR準確性。 過濾器精靈幫助決定最佳的過濾器組合以滿足您的特定文件型別。

hOCR結構如何支持高級處理?

生成的hOCR遵循標準規範,使用巢狀的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

這種結構支持精確的文字位置提取和高級文件分析能力,對於需要空間文字關係或佈局保留的應用程式極為寶貴。 處理表格提取時,hOCR格式有助於保持表格結構和單元格關係。

bbox(邊框框)屬性以"bbox left top right bottom"格式包含坐標,為每個文字元素提供像素精確的位置資料。 此資訊對於以下方面至關重要:

  • 建立具有文字選擇功能的互動式文件查看器
  • 實施保留佈局的刪除系統
  • 構建保持閱讀順序的無障礙工具
  • 開發文件比較系統

對於需要更詳細配置選項的開發者,Tesseract詳細配置指南提供影響hOCR輸出質量和結構的高級設置。

RenderHocr

常見問題

什麼是hOCR,它為什麼對OCR應用程式有用?

hOCR(基於HTML的OCR)是一種文件格式,用於以結構化HTML表示OCR結果,儲存已識別的文字和字元坐標等空間資訊。IronOCR支持hOCR匯出,對於需要文字定位資料的應用程式,文件索引,輔助工具和保持佈局完整性處理掃描文件等用途特別有價值。

如何在我的C# OCR應用程式中啟用hOCR輸出?

要使用IronOCR啟用hOCR輸出,請將您的IronTesseract實例的Configuration.RenderHocr屬性設置為true。這告訴IronOCR準備以hOCR格式生成OCR結果,使您能夠使用SaveAsHocrFile或SaveAsHocrString方法匯出這些結果。

有哪些方法可以匯出hOCR結果?

IronOCR提供兩種匯出hOCR結果的方法:SaveAsHocrFile()將輸出直接儲存到磁碟上的HTML文件,SaveAsHocrString()將hOCR HTML作為字串返回,供應用程式進一步處理或儲存。

我可以僅用一行程式碼將OCR結果匯出為hOCR嗎?

是的,IronOCR允許使用方法鏈將hOCR匯出。您可以建立一個開啟RenderHocr的IronTesseract實例,讀取輸入,並在單一語句中調用SaveAsHocrString():var hocr = new IronTesseract { Configuration = { RenderHocr = true } }.Read(new OcrInput("image.png")).SaveAsHocrString();

hOCR從OCR結果中保存哪些型別的空間資訊?

hOCR保存原圖或文件中每個已識別字元的佈局資訊和坐標。IronOCR的hOCR匯出維持這些空間資料,提供如文字高亮顯示進行除錯、在圖像上建立可點擊的疊加層、及了解文字在原始文件中出現的位置等功能。

What are the advantages of exporting OCR results as HTML strings?

Exporting OCR results as HTML strings allows for in-memory processing, integration with APIs, and storage in databases without file dependencies. This approach is beneficial for real-time applications, search systems, and cloud-based services.

How does hOCR format support advanced document processing tasks?

hOCR's structured format with bounding box data allows for precise text location extraction, enabling features like interactive text viewers, layout-preserving redaction, and accessibility tools. It supports advanced tasks requiring spatial text relationships.

What preprocessing steps improve hOCR output quality in IronOCR?

Applying image optimization filters such as de-noising, deskewing, and upscaling before OCR processing can significantly enhance hOCR output quality, especially for low-quality scans or complex document formats.

Which scenarios benefit from using HTML string output instead of file output in OCR?

HTML string output is ideal for scenarios requiring immediate processing in memory, such as web API integration, database storage, real-time analysis, and serverless applications lacking file system access.

How does IronOCR handle multi-page documents when exporting to hOCR?

IronOCR consolidates OCR results from multi-page documents into a single HTML string or file with appropriate page divisions, maintaining document structure and content continuity across pages.

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

準備開始了嗎?

Nuget Downloads 6,236,385版本:2026.9剛剛發布

立即獲取免費

立即獲取 30天試用金鑰

bullet_checked無需信用卡或註冊帳號
bullet_test在生產
環境中進行測試,且不顯示浮水印
bullet_calendar30 天全
功能產品
bullet_support試用期間提供 24/5 技術
支援
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立
C# PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. 在解決方案資源管理器中,右鍵點擊參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronOCR"
  3. 選擇包並安裝
C# PDF DLL
下載 DLL

版本: 2026.9

這裡下載Windows安裝程式。

  1. 下載並解壓IronOCR至您的方案目錄下的~/Libs等位置
  2. 在Visual Studio解決方案資源管理器中,右鍵點擊參考。選擇瀏覽,"IronOCR.dll"

授權從$999

有問題嗎?聯絡我們的開發團隊。

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
獲取您的無義務諮詢
填寫以下表格或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
被全球數百萬工程師信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立