Ubuntu 机器在解析 PDF 文件时出现字体问题

Font issue on Ubuntu machine in parsing PDF File

我的 Ubuntu 14.04.x 机器上有一个应用程序。此应用程序对 PDF 文件进行文本挖掘。我怀疑它正在使用 Apache Tika 等...

问题是,在阅读过程中,我收到以下警告:

2015-09-10 14:15:35 [WARN] FontManager Font not found: CourierNewPSMT
2015-09-10 14:15:36 [WARN] FontManager Font not found: CourierNewPSMT
2015-09-10 14:19:33 [WARN] FontManager Font not found: Helvetica
2015-09-10 14:19:34 [WARN] FontManager Font not found: ESQWSF+Helvetica
2015-09-10 14:19:34 [WARN] FontManager Font not found: ESQWSF+Helvetica
2015-09-10 14:19:34 [WARN] FontManager Font not found: ESQWSF+Helvetica
......

如何在我的机器上获取这些字体?还是我缺少一些 java 字体库?

我会采取三步法来解决这个问题。

  1. 使用 strace 分析搜索和未找到的文件
  2. 使用apt-file搜索提供这些文件的包
  3. 安装缺少的包

1.) 如果尚未安装 strace,请安装它 sudo apt-get install strace

检查您的应用使用了哪些文件:

$> strace <your app> 2>&1 | grep open

您可以进一步过滤 ENOENT 错误:

$> strace <your app> 2>&1 | grep open | grep ENOENT

现在你应该知道丢失了什么文件了。

2.) 检查提供此文件的软件包。 (dpkg -S 仅适用于已安装的软件包)

su
apt-get install apt-file
apt-file update
apt-file search <filename>

3.) 使用 apt-get install <package>

安装该包

我这里没有 Ubuntu,但 MS 字体通常在名为 "mscorefont" 或类似名称的包中提供。