IronOCR 操作指南 hOCR 导出为 HTML Save OCR Results as hOCR HTML in C# with IronOCR. Curtis Chau 更新:2026年1月10日 下載 IronOCR NuGet 下載 DLL 下載 Windows 安裝程式 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronOCR 可讓開發人員透過設定 RenderHocr 為 true,並使用 SaveAsHocrFile 或 SaveAsHocrString 方法,將 OCR 結果儲存為 hOCR HTML 檔案,以結構化的 HTML 格式保留文字排版和字元座標。 快速入門:將 OCR 輸出儲存為 hOCR HTML 檔案 只需一次設定和一次方法呼叫,即可啟用 hOCR 渲染並將結果直接匯出至 HTML 檔案。 立即開始使用 NuGet 建立 PDF 檔案: 使用 NuGet 套件管理器安裝 IronOCR PM > Install-Package IronOcr 複製並運行這段程式碼。 var hocr = new IronTesseract { Configuration = { RenderHocr = true } }.Read(new OcrInput("image.png")).SaveAsHocrString(); 部署到您的生產環境進行測試 立即開始在您的專案中使用 IronOCR,免費試用! 免費試用30天 ### 最小工作流程(5 個步驟) 下載 C# 庫,用於將結果以 hOCR 格式儲存到 HTML 檔案中。 准备目标图像和 PDF 文档 將RenderHocr屬性設為 true 使用SaveAsHocrFile方法輸出 HTML 文件 使用SaveAsHocrString方法輸出 HTML 字串 什麼是 hOCR 以及為何要使用它? hOCR,即"基於 HTML 的 OCR",是一種用於以結構化方式表示光學字元辨識 (OCR) 結果的檔案格式。 hOCR 檔案以 HTML 寫成,提供一種方式來儲存識別的文字、版面資訊,以及影像或文件中每個識別字元的座標。 這種結構化的格式使得 hOCR 對於需要文字位置資料的應用程式特別有價值,例如文件索引、可存取性工具和進階搜尋實作。 對於建立應用程式的開發人員而言,hOCR 格式是不可或缺的,因為他們不僅需要瞭解出現了哪些文字,還需要瞭解這些文字在原始文件上出現的位置。 這些空間資訊可實現以下功能:高亮顯示文字以進行除錯、在原始影像上建立可點選的覆蓋層,以及在將文件掃描轉換為可存取格式時維持文件版面的完整性。 對於處理 掃描文件的企業應用程式而言,hOCR 提供了進階文件理解與擷取工作流程的基礎。 如何將 OCR 結果匯出為 hOCR 檔案? <! -- --> <!--說明:顯示逐步過程的截圖 --> 若要將結果匯出為 hOCR,請先將 Configuration.RenderHocr 屬性設定為 true,以啟用該屬性。 從 Read 方法取得 OcrResult 物件之後,使用 SaveAsHocrFile 方法將 OCR 結果匯出為 HTML。 此方法可輸出 HTML 檔案,其中包含輸入文件的閱讀結果。 以下程式碼示範如何使用以下範例 TIFF檔案。 :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 類別提供廣泛的選項,可在 OCR 處理前準備影像。 您可以套用篩選器、指定感興趣的區域,並處理各種輸入格式,包括 多頁 TIFF 檔案。 當使用 PDF OCR 文字擷取工作時,相同的 hOCR 匯出方法可無縫套用。 為什麼設定 RenderHocr 很重要? 將 RenderHocr 屬性設定為 true 會指示 IronOCR 在 OCR 過程中產生必要的 hOCR 結構。 如果沒有此設定,SaveAsHocrFile 和 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 字串。 :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 字串輸出包含完整的 hOCR 標記,可進一步處理、儲存於資料庫或整合至網頁應用程式。 這種方法在建立 可搜尋的 PDF 系統或實施自訂文件索引解決方案時特別有用。 對於使用 125 種國際語言的開發人員而言,hOCR 格式保留了特定語言的文字屬性和閱讀方向資訊。 何時應該使用字串輸出而非檔案? 當您需要在記憶體中處理或操作 hOCR 資料、與 Web 服務整合或將結果儲存於資料庫時,字串輸出是最理想的選擇。 此方法可避免檔案系統的依賴性,並可為網路應用程式動態產生 HTML。 常見的使用案例包括 Web 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(); // 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 此方法可與 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); 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 對於 低品質掃描,額外的預處理步驟能大幅提升 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> <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 左上右下"格式的座標,為每個文字元素提供精確的像素位置資料。 這些資訊對於下列工作至關重要 建立具備文字選擇功能的互動式文件檢視器 實施保留版面的刪節系統 建立可維持閱讀順序的無障礙工具 開發文件比較系統 對於需要更詳細組態選項的開發人員,Tesseract詳細組態指南提供了影響 hOCR 輸出品質和結構的進階設定。 常見問題解答 什麼是 hOCR,為什麼它對 OCR 應用程式有用? hOCR(基於 HTML 的 OCR)是一種以結構化 HTML 表示 OCR 結果的檔案格式,可同時儲存辨識的文字和空間資訊(如字元座標)。IronOOCR 支援 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 匯出保留了這些空間資料,可實現各種功能,例如高亮顯示文字以進行除錯、在影像上建立可點選的覆蓋圖,以及瞭解文字出現在原始文件上的位置。 Curtis Chau 立即與工程團隊聊天 技術撰稿人 Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。 審核人 Jeffrey T. Fritz 首席計畫經理 - .NET 社群團隊 Jeff 也是 .NET 和 Visual Studio 團隊的首席計畫經理。他是 .NET Conf 虛擬會議系列的執行製作人,並主持「Fritz and Friends」開發人直播串流,每週播出兩次,與觀眾一起討論技術和編寫程式碼。Jeff 為 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP Summit 等大型 Microsoft 開發人員活動撰寫工作坊、簡報和規劃內容。 準備好開始了嗎? Nuget 下載 5,384,824 | 版本: 2026.2 剛剛發布 免費 NuGet 下載 總下載量:5,384,824 查看許可證