使用 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 时没有显示警告。安装了以下字体:
- Courier.ttf
- CourierBold.ttf
- CourierOblique.ttf
- Courierboldoblique.ttf
我还安装了评论中提到的附加字体 (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”字体并添加上述字体之一解决了问题。最可能的解释是字体坏了。
我使用 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 时没有显示警告。安装了以下字体:
- Courier.ttf
- CourierBold.ttf
- CourierOblique.ttf
- Courierboldoblique.ttf
我还安装了评论中提到的附加字体 (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”字体并添加上述字体之一解决了问题。最可能的解释是字体坏了。