识别中文、日文和韩文
中文、日文和韩文经常一同用缩写“CJK”表示。它们有几个共同特征,例如使用中文字符以及纵向和横向的书写方向。
本节将描述使用 ABBYY FineReader Engine 12 识别和导出 CJK 语言文本的一些细节。
首先,若要识别 CJK 语言,您必须有支持 中文、日文和 韩文 语言模块的 ABBYY FineReader Engine 许可证。若要了解有关许可证和模块的更多信息,请参见 Licensing 部分。
识别语言
ABBYY FineReader Engine 支持 CJK 文本的以下预定义识别语言:
- "中文(中国)"
- "中文(台湾)"
- "日文"
- "日文(现代)"
- "韩文"
- "韩文(Hangul)"
您可以使用 RecognizerParams 对象的 SetPredefinedTextLanguage 方法选择这些预定义语言之一。
重要事项!日文(现代)识别语言是一种复合语言,由日文、英文和希腊文的四个字母组成。该语言意在识别当代日文文本,可能包括一些日本汉字字符、假名(平假名或片假名)符号、一些拉丁和/或希腊字母(例如报告、研究论文等等)。对于主要用日语编写的所有文档,为了获得最佳识别结果,我们强烈建议使用日语(现代)识别语言作为独立语言,而不使用其与英语的组合。
ABBYY FineReader Engine 支持由多种这些语言组成的识别语言组合或 CJK 和其它语言的组合。
字体
为了防止亚洲字符变乱码,您必须为文档合成指定一种包括必需字符集的字体,例如 Arial Unicode MS 或 SimSun。您可以借助 ISynthesisParamsForDocument::FontSet 属性设置字体。默认将 FontSet 对象的 SystemFontSet 属性设置为选择对应文档识别语言的系统字体。
导出
您可以用"文本在图像下方"模式导出 CJK 语言为PDF/A格式 (IPDFExportParams::TextExportMode = PEM_ImageOnText) 以确保文档看起来一样。
识别和导出过程
要处理用 CJK 语言写的文档,请执行以下操作:
- 使用 Engine 对象的 CreateDocumentProcessingParams 方法创建 DocumentProcessingParams 对象。
- 指定识别语言。使用 PageProcessingParams 子对象的 RecognizerParams 子对象的 SetPredefinedTextLanguage 方法。
- 选择适合 CJK 语言的字体集。使用 SynthesisParamsForDocument 子对象的 ISynthesisParamsForDocument::FontSet 属性。
- 将配置的 DocumentProcessingParams 对象传递至 FRDocument 对象的 Process 方法。如果使用 Engine 对象的方法,您应该调用 Engine 对象的合成方法之一,在导出前将配置的 SynthesisParamsForDocument 对象作为一个参数。
- 借助 FRDocument 对象的 Export 方法执行识别文本导出。如果导出至 PDF/A 格式的 PDF,请指定所需导出模式。
注: 不要为用 CJK 语言写的文本使用 Word 对象及其属性,或 CharParams 对象的 IsWordFirst、IsWordLeftmost 属性。处理技术将文本行划分为“单词”仅供内部用途,这些符号组不和实际词汇相符。
C++ 代码
另请参阅
03.07.2024 8:50:25