IRONSOFTWAREHOME

使用 IronOCR 将 OCR 结果保存为 C# 中的 hOCR HTML.

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

IronOCR 通过将 RenderHocr 设置为 true 并使用 SaveAsHocrFileSaveAsHocrString 方法,允许开发人员将 OCR 结果保存为 hOCR HTML 文件,保留结构化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 格式对于构建应用程序的开发人员来说至关重要,因为他们不仅需要了解文本的内容,还需要了解文本在原始文档中的位置。 这些空间信息可以实现以下功能:突出显示文本以进行调试、在原始图像上创建可点击的覆盖图,以及在将扫描文档转换为可访问格式时保持文档布局的完整性。 对于处理 扫描文档的企业应用程序,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 结构。 如果没有此配置,SaveAsHocrFileSaveAsHocrString 方法将无法生成格式正确且保留布局的 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。 常见的用例包括:

  • 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();
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 左上右下 "格式的坐标,为每个文本元素提供像素级精确位置数据。 这些信息对于

  • 创建具有文本选择功能的交互式文档查看器
  • 实施保留排版的节录系统
  • 构建保持阅读顺序的无障碍工具
  • 开发文档比较系统

对于需要更详细配置选项的开发人员,Tesseract详细配置指南提供了影响hOCR输出质量和结构的高级设置。

RenderHocr

常见问题解答

什么是 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 导出保留了这些空间数据,可实现用于调试的文本高亮、在图像上创建可点击的叠加以及了解文本在原始文档上出现的位置等功能。

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 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

准备开始了吗?

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 天试用密钥
无需信用卡或创建账户