解析PDF文件时Ubuntu机器上的字体问题

Maa*_*mon 9 java text-mining apache-tika ubuntu-14.04

我在我的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
......
Run Code Online (Sandbox Code Playgroud)

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

Han*_*mpf 4

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

  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>
Run Code Online (Sandbox Code Playgroud)

3.) 使用安装该包apt-get install <package>

我这里没有 Ubuntu,但 MS 字体通常可以在名为“mscorefont”或类似的包中找到。