使用 PDFBox 将 PDF 转换为图像会产生奇怪的字符(字体问题)

Converting PDF to image with PDFBox results in strange characters (Font issue)

我使用 PDFBox (2.X) 将 PDF 转换为图像。整个事情是 运行 在 linux 下,以前我在转换某些带有非嵌入字体的 PDF 时遇到了一些麻烦。然后我将 base-14 字体添加到系统中,一切正常。到目前为止一切顺利。

现在出现了一个使用 Courier-Bold 的 PDF,但结果如下,尽管系统上安装了 Courier-Bold。 (应该是罗马字母,因为我的俄语有点生锈;-):

所以我有点困惑为什么PDF没有正确转换。 PDF中的字体定义为 1 0 obj <</Subtype/Type1/Type/Font/BaseFont/Courier-Bold/Encoding/WinAnsiEncoding>>

那么为什么 PDFBox 没有选择正确的字体?转换 PDF 时没有显示警告。安装了以下字体:

我还安装了评论中提到的附加字体 (CourierNewPS-BoldMT,CourierNew-Bold,LiberationMono-Bold,NimbusMonL-Bold),但都没有用。 每次我添加新字体(到 /.local/share/font)时,我都会从 PDFBox 收到一条消息,指出找到了新字体 - 因此字体本身可以被识别。一定是别的东西。

原因与字体本身有关。目前,PDFBox 需要“Courier-Bold”,或者作为替代品,名称为

的字体
  • CourierNewPS-BoldMT
  • CourierNew-Bold
  • LiberationMono-Bold
  • NimbusMonL-Bold

删除“Courier-Bold”字体并添加上述字体之一解决了问题。最可能的解释是字体坏了。