Skip to content
全新发布

PDF SDK 与 AI 文档处理

在 GitHub 获取完整的私有化部署SDK 包及 AI 智能文档处理能力,一键部署,快速构建您的文档处理工作流。

OCR

概述

OCR(光学字符识别)是将打印、手写或印刷文本的图像转换为机器编码文本的过程。

OCR 通常用于以下类型文档的文本识别和提取:

  • 不可编辑的扫描 PDF 文件
  • 文档照片
  • 场景照片,如广告版面、标牌等
  • 身份证、护照、车牌和其他官方证件
  • 发票、账单、收据和其他财务文档

以下功能支持 OCR:

  • PDF 转 Word
  • PDF 转 Excel
  • PDF 转 PowerPoint (PPT)
  • PDF 转 HTML
  • PDF 转 RTF
  • PDF 转 TXT
  • PDF 转 CSV
  • PDF 转 可搜索 PDF
  • PDF 转 OFD
  • PDF 转 JSON
  • PDF 转 Markdown

ComPDF Conversion SDK 的 OCR 语言支持:

文字/备注语言(本地名称)语言(英文名称)
Latn; AmericanEnglishEnglish
Latn; CanadianFrançais canadienFrench
Hans/Hant中文简体Chinese (Simplified)
Hans/Hant中文繁体Chinese (Traditional)
Jpan日本語Japanese
Kore한국어Korean
LatnDeutschGerman
LatnСрпски (латиница)Serbian (latin)
LatnOccitan, lenga d'òc, provençalOccitan
LatnDanskDanish
LatnItalianoItalian
Latn; EuropeanEspañolSpanish
Latn; EuropeanPortuguês (Portugal)Portuguese
LatnTe reo MāoriMaori
LatnBahasa MelayuMalay
LatnMaltiMaltese
LatnNederlandsDutch
Latn; BokmålNorskNorwegian
LatnPolskiPolish
LatnRomânăRomanian
LatnSlovenčinaSlovak
LatnSlovenščinaSlovenian
LatnshqipAlbanian
LatnSvenskaSwedish
LatnSwahiliSwahili
LatnWikang TagalogTagalog
LatnTürkçeTurkish
LatnoʻzbekchaUzbek
LatnTiếng ViệtVietnamese
LatnAfrikaansAfrikaans
LatnAzərbaycanAzerbaijani
LatnBosanskiBosnian
LatnČeštinaCzech
LatnCymraegWelsh
LatnEesti keelEstonian
LatnGaeilgeIrish
LatnHrvatskiCroatian
LatnMagyarHungarian
LatnBahasa IndonesiaIndonesian
LatnÍslenskaIcelandic
LatnKurdîKurdish
LatnLietuviųLithuanian
LatnLatviešuLatvian

设置 OCR 语言

在当前主线版本中,OCR 语言应通过每个转换任务的 options.languages 传递,而不是通过单独的全局接口。

objective-c
[LibraryManager setDocumentAIModel:@"path/documentai_v4.model"];

WordOptions *options = [[WordOptions alloc] init];
options.enableOCR = YES;
options.ocrOption = OCROptionInvalidCharacterAndScanPage;
options.contain_page_background_image = YES;
options.languages = @[@(OCRLanguageChinese)];

[CPDFConversion startPDFToWord:@"word.pdf" password:@"password" outputPath:@"path/output.docx" options:options];

OCR 选项

可根据实际需求选择不同的 OCR 选项。以下是当前支持的 OCR 选项。

  • OCROptionInvalidCharacter: 通过 OCR 识别 PDF 文档中的无效或乱码字符,而正常字符不通过 OCR 处理。
  • OCROptionScanPage: 通过 OCR 识别 PDF 文档中的扫描页面,而可编辑页面不通过 OCR 处理。
  • OCROptionInvalidCharacterAndScanPage: 通过 OCR 同时识别 PDF 文档中的无效字符和扫描页面。
  • OCROptionAll: 通过 OCR 识别 PDF 文档中的所有页面和字符。

保留页面背景

启用 OCR 时,您可以选择是否启用 contain_page_background_image 选项。如果启用此选项,将保留 PDF 的原始页面背景图像。如果禁用,将保留在页面版面分析期间检测到的图像结果。

注意事项

  • OCR 结果的质量取决于输入图像的质量。如果输入图像分辨率较低,OCR 结果质量将受到影响。一个好的经验法则是:字符形状中的像素越多越好。如果字符边界框小于 20x20 像素,OCR 质量将呈指数级下降。理想的图像是分辨率约为 300 DPI 的灰度图像。
  • 执行 OCR 时,请确保 OCR 语言设置与 PDF 文档中的语言匹配,以获得最佳的 OCR 转换质量。
  • OCR 功能目前不支持 iOS。

将图像转换为其他文档格式

OCR 功能还支持将输入图像转换为 Word、Excel、PPT、HTML、CSV、RTF、TXT、JSON 等格式。此示例演示了如何使用 ComPDF OCR 功能将图像文件转换为 DOCX 文件。

objective-c
[LibraryManager setDocumentAIModel:@"path/documentai_v4.model"];

WordOptions *options = [[WordOptions alloc] init];
options.enableOCR = YES;
options.languages = @[@(OCRLanguageChinese)];

[CPDFConversion startPDFToWord:@"input.png" password:@"" outputPath:@"path/output.docx" options:options];

示例

此示例演示了如何使用 ComPDF OCR 功能将 PDF 转换为 DOCX 文件。

objective-c
[LibraryManager setDocumentAIModel:@"path/documentai_v4.model"];

WordOptions *options = [[WordOptions alloc] init];
options.enableOCR = YES;
options.ocrOption = OCROptionInvalidCharacterAndScanPage;
options.contain_page_background_image = YES;
options.languages = @[@(OCRLanguageChinese)];

[CPDFConversion startPDFToWord:@"word.pdf" password:@"password" outputPath:@"path/output.docx" options:options];