本页内容
OCR
概述
OCR (光学字符识别) 是将扫描文档、文档照片、场景照片(例如风景照片中标志和广告牌上的文本)以及叠加在图像上的字幕等文本,转换为机器编码文本的过程。
OCR 常用于对以下文档的文字识别和提取:
- 不可编辑的扫描档 PDF 文件
- 文档照片
- 广告排、标牌等场景照片
- 身份证、护照、车牌等牌照
- 发票、账单、收据等票据
以下是支持 OCR 的功能:
- PDF 转 Word
- PDF 转 Excel
- PDF 转 PPT
- PDF 转 HTML
- PDF 转 RTF
- PDF 转 TXT
- PDF 文本提取
- PDF 表格提取
OCR 目前支持的语言包括:
Script / Notes | 语言 | 语言 (英文名称) | 语言(中文名称) |
---|---|---|---|
Latn; American | English | English | 英文 |
Latn; Canadian | Français canadien | French | 法文 |
Hans/Hant | 中文简体 | Chinese (Simplified) | 简体中文 |
Hans/Hant | 中文繁体 | Chinese (Traditional) | 繁体中文 |
Jpan | 日本語 | Japanese | 日文 |
Kore | 한국어 | Korean | 韩文 |
Latn | Deutsch | German | 德文 |
Latn | Српски (латиница) | Serbian (latin) | 塞尔维亚语(拉丁字母) |
Latn | Occitan, lenga d'òc, provençal | Occitan | 奥克西坦语 |
Latn | Dansk | Danish | 丹麦文 |
Latn | Italiano | Italian | 意大利文 |
Latn; European | Español | Spanish | 西班牙文 |
Latn; European | Português (Portugal) | Portuguese | 葡萄牙文 |
Latn | Te reo Māori | Maori | 毛利文 |
Latn | Bahasa Melayu | Malay | 马来文 |
Latn | Malti | Maltese | 马耳他文 |
Latn | Nederlands | Dutch | 荷兰文 |
Latn; Bokmål | Norsk | Norwegian | 挪威文 |
Latn | Polski | Polish | 波兰文 |
Latn | Română | Romanian | 罗马尼亚文 |
Latn | Slovenčina | Slovak | 斯洛伐克文 |
Latn | Slovenščina | Slovenian | 斯洛文尼亚文 |
Latn | shqip | Albanian | 阿尔巴尼亚文 |
Latn | Svenska | Swedish | 瑞典文 |
Latn | Swahili | Swahili | 斯瓦希里文 |
Latn | Wikang Tagalog | Tagalog | 塔加洛文 |
Latn | Türkçe | Turkish | 土耳其文 |
Latn | oʻzbekcha | Uzbek | 乌兹别克文 |
Latn | Tiếng Việt | Vietnamese | 越南文 |
Latn | Afrikaans | Afrikaans | 南非荷兰文 |
Latn | Azərbaycan | Azerbaijani | 阿塞拜疆文 |
Latn | Bosanski | Bosnian | 波斯尼亚文 |
Latn | Čeština | Czech | 捷克文 |
Latn | Cymraeg | Welsh | 威尔士文 |
Latn | Eesti keel | Estonian | 爱沙尼亚文 |
Latn | Gaeilge | Irish | 爱尔兰文 |
Latn | Hrvatski | Croatian | 克罗地亚文 |
Latn | Magyar | Hungarian | 匈牙利文 |
Latn | Bahasa Indonesia | Indonesian | 印度尼西亚文 |
Latn | Íslenska | Icelandic | 冰岛文 |
Latn | Kurdî | Kurdish | 库尔德文 |
Latn | Lietuvių | Lithuanian | 立陶宛文 |
Latn | Latviešu | Latvian | 拉脱维亚文 |
是否包含 OCR 背景图
当开启 OCR 功能并且目标转换格式为 Word、PPT、RTF 或者 HTML 时需要留意是否设置contain_ocr_background_image
选项。如果选择了contain_ocr_background_image
选项,则会在目标文档里面写入一张大的背景图作为底图,文本与表格图层将会展示在这张底图上。如果没有选择contain_ocr_background_image
选项,则会基于版面分析提取 PDF 页面上的图片并将其写入目标文档中。
注意事项
- OCR 结果的质量与输入的图像质量有关,如果输入的图像分辨率较低那么 OCR 的结果质量也会受影响,一个好的经验法则是,字形中的像素越多越好,如果字形边界框小于 20x20 像素,OCR 质量就会开始呈指数级下降,理想的图像是分辨率在 300 DPI 附近的灰度图像。
- 进行 OCR 识别时需要留意设置 OCR 语言,确保选择的 OCR 语言与 PDF 文档中的语言保持一致,以获取最佳的 OCR 转换质量。
- 当开启 OCR 选项时,
contain_image
选项将不再起作用,此时 PDF 中的图片将通过contain_ocr_background_image
选项来控制。
示例
此示例演示了如何在扫描文档上使用 ComPDFKit Conversion SDK 的 OCR 功能,将 PDF 文档转换为 Word 文档。
python
LibraryManager.set_ocr_model_path("path/to/model")
LibraryManager.set_ocr_language(OCRLanguage.ENGLISH)
options = ConvertOptions()
options.enable_ocr = True
options.contain_ocr_background_image = False
error_code = PDFToOffice.start_pdf_to_word("sample.pdf", "", "path/to/output", options, callback)
if error_code == ErrorCode.Success:
print("Convert success")