跳转到主要内容
文档识别结果取决于处理过程中使用的字体及其设置。ABBYY FineReader Engine 提供了使用可用字体的选项,但在某些情况下,您需要手动设置字体:
  • 您的文档包含特定字体 (例如非拉丁字体)
  • 您使用的操作系统字体集有限,或者根本没有安装字体。例如:
  • Docker 容器中的 Windows Server Core
  • 不带图形用户界面的任意 Linux 发行版服务器版本
在这些情况下,务必在启动应用程序之前设置好字体,因为多个处理阶段都需要使用正确配置的字体:
  • 打开 PDF
  • 文档合成
  • 导出为 PDF
本文提供了有关如何手动设置字体的实用信息,并介绍了 ABBYY FineReader Engine 中用于处理字体的相关功能。

打开 PDF

打开 PDF 文件时会使用系统字体。如果需要其他字体,您可以使用系统实用工具 Font Book 进行安装。
PDF 包含有关创建该文件时所用字体的信息。此信息对于 PDF 光栅化是必需的,例如,用于处理图像中的可见文本,以及确定所用字体及其参数。要打开输出 PDF 并确保字体正确显示,请使用以下方法之一:
  • 将所需字体手动复制到分发包中的 Data/Resources/Font 文件夹。此方法不会在操作系统中注册字体,仅影响 PDF 的打开。默认情况下,此文件夹中的字体不会在文档合成和导出时使用。
  • 将所需字体手动复制到 /usr/share/fonts 系统文件夹。此方法会在操作系统中注册字体。如果您在 ISynthesisParamsForDocument::FontSet 属性中指定了这些字体,则文档合成或导出时会使用此文件夹中的字体 (请参见“文档合成和导出为 PDF”部分) 。默认情况下,只有当这些字体已嵌入到输入 PDF 中时,才会在合成过程中使用它们 (请参见 FontNamesFiltersEnum 枚举中 FNF_Auto 筛选器的说明) 。
  • 安装字体安装软件包 (在类 Debian 系统中使用 ttf-mscorefonts-installer 软件包,在类 RHEL 系统中使用 msttcore-fonts-installer 软件包) 。此方法会自动安装字体,并且在为合成和导出设置字体时,具有与前一种方法相同的特性。
在某些操作系统中,将字体复制到系统文件夹或通过软件包安装后,您需要使用 fc-cache -f 命令更新字体缓存。
需要包含的字体:
  • Arial
  • Times New Roman
  • Courier New
为了识别文本中同一种字体的不同样式,我们建议同时包含几种基本字体样式 (常规、粗体和斜体) 。
Windows
PDF 包含有关创建该文件时所用字体的信息。此信息对于 PDF 光栅化是必需的,例如,用于处理图像中的可见文本,以及确定所用字体及其参数。要打开输出 PDF 并确保字体正确显示,您需要将所需字体文件复制到分发包中的 Data\Resources\Font 文件夹。ABBYY FineReader Engine 会在运行过程中自动嵌入这些字体。需要包含的字体:
  • Arial
  • Times New Roman
  • Courier New

文档合成和导出为 PDF

在合成文档或将其导出为 PDF 时,ABBYY FineReader Engine 会从 ISynthesisParamsForDocument::FontSet 属性中指定的字体集中选择最合适的字体。默认情况下,此集合中的字体数量已经过优化,以便在处理速度和输出文档质量之间取得平衡。 如需手动设置字体:
  1. 选择计算机上的任意文件夹作为字体存储目录。
  2. 将所需字体文件复制到该文件夹中。推荐用于文档合成和导出的字体列在 FontNamesFiltersEnum 枚举中。
  3. 使用 CustomFontSet 对象的 Folder 属性指定该字体文件夹。
如果您需要更改默认字体集,请参考以下建议:
  • 在 Linux 版 FRE 中,您不仅可以使用打开 PDF 部分中指定的字体来打开 PDF,还可以在合成和导出任何输入文档时使用这些字体。为此,请在 CustomFontSet 对象的 Folder 属性中,指定此前在打开 PDF 部分中选择的字体文件夹路径。
  • 您可以针对特定语言使用预定义的字体筛选器,例如 FNF_ChineseFNF_Japanese。请使用 SystemFontSet 或 CustomFontSet 对象的 FontNamesFilter 属性。
  • 您可以在 SystemFontSetCustomFontSet 对象的 FontNamesCustomFilter 属性中,指定文档中使用的特定字体族。
  • 您可以在 SystemFontSetCustomFontSet 对象的 FontNamesFilter 属性中,为字体指定 FNF_FineReader 筛选器。与默认模式相比,此筛选器可让 FineReader Engine 在文档合成过程中使用更多字体,并选择更合适的字体。不过,处理速度可能会变慢。例如,在转换为可编辑格式时,这可能会很有帮助。在指定此筛选器之前,请检查其使用的字体列表,并确保这些字体已安装在您的工作站上。
对于在 macOS 10.15 Catalina 或更高版本上使用系统字体进行文档合成,还需要执行其他操作 (请参见 Frequently Asked Questions 部分) 。

另请参阅

使用语言 在 Docker 容器中运行 ABBYY FineReader Engine 12 (Linux 和 Windows)