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

使用PDFBox将PDF转换为图像会产生奇怪的字符(字体问题),pdf,pdfbox,Pdf,Pdfbox,我使用PDFBox(2.X)将PDF转换为图像。整个程序都是在linux下运行的,之前我在转换某些带有非嵌入式字体的PDF时遇到了一些问题。然后,我在系统中添加了base-14字体,一切正常。到目前为止还不错 现在出现了一个使用Courier Bold的PDF,但结果如下,尽管Courier Bold安装在系统上。(应该是罗马字母,因为我的俄语有点生锈;-): 所以我有点困惑为什么PDF没有正确转换。PDF中的字体定义为 10 obj 那么为什么PDFBox没有选择正确的字体呢?转换PDF时不

我使用PDFBox(2.X)将PDF转换为图像。整个程序都是在linux下运行的,之前我在转换某些带有非嵌入式字体的PDF时遇到了一些问题。然后,我在系统中添加了base-14字体,一切正常。到目前为止还不错

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

所以我有点困惑为什么PDF没有正确转换。PDF中的字体定义为
10 obj

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

  • 信使
  • CourierBold.ttf
  • 信使
  • CourierBold.ttf
我还安装了评论中提到的其他字体(
CourierNewPS-Bold MT、CourierNew-Bold、LiberationMono-Bold、NimbusMonL-Bold
),但都不起作用。
每次我添加一种新字体(到/.local/share/font)时,我都会从PDFBox收到一条消息,即找到了一种新字体——因此字体本身是可以识别的。一定是别的原因。

原因与字体本身有关。目前,PDFBox希望使用“Courier Bold”字体,或者使用带有名称的字体作为替代

  • 信使
  • CourierNew Bold
  • 自由主义
  • 黑云

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

我看不出PDF有什么问题。它使用callas pdfToolbox显示并转换为PNG图像(注意,我属于此工具)-PDF和图像看起来完全相同(并且都是德语)。字体没有嵌入(这本身是不好的,但允许),但我也看不出这个定义有任何错误。似乎指出了PDFBox的一个特定问题(我无法进一步帮助:))在windows系统上,转换也可以正常工作-但windows带来了一些其他字体…我并不感到惊讶-看起来像是编码问题。原因可能是字体(可疑),或者更可能的是,我会说PDFBox从操作系统中获取默认编码,并忽略PDF中的字体告诉它的内容(这是Ansi)。如果PDFBox中有编码设置,则可以使用这些设置。或者,如果有可能在Linux中更改默认值以尝试是否有帮助,那么这可能也是一次值得的尝试。它在我的W10和2.0.21上运行良好。。。PDF是一个非常简单的文件。有日志消息吗?您的系统上是否存在以下字体:“CourierNewPS BoldMT”、“CourierNew Bold”、“LiberationMono Bold”、“NimbusMonL Bold”?:-D是的,让我们这样做。如果你加上这个作为回答,我就把它删掉。如果你没有时间,我以后再做。字体是这样的:可能问题是它是从windows/russ_字体文件夹转换而来的:-)