我使用pdf2htmlEX
将pdf转换为html,当它在mac上本地生成时,输出会正确显示,但当它在amazonlinux上生产时不会正确显示。多个页面都有这个问题,但我将使用这个pdf的第22页作为一个具体的例子。
对于不正确的html输出(在linux上生成(:
- 虽然某些文本在浏览器中呈现时不可见,但在使用chrome dev工具检查时,正确的文本在底层html中
- 这是由元素的css
visibility
属性(由类名ff13
指定(被设置为hidden
引起的,在正确的转换中,它被设置为visible
- 我可以在开发工具的
rendered fonts
的css样式计算选项卡下看到,正确的字体是DejaVu Sans
,不正确的字体为Helvetica
我检查并确认DejaVuSans.ttf
(和其他DejaVu字体(安装在/usr/share/fonts/dejavu/
的linux机器上,所以我的最佳猜测是,由于某种原因,pdf2htmlEX
程序在进行转换时找不到字体文件,所以它将cssvisibility
属性标记为hidden
。我也试着安装核心mac(这里的源代码(和微软字体,重新启动机器,然后再试一次,但似乎没有帮助。
有人知道如何解决这个问题或从这里进行故障排除吗?提前感谢您的帮助!
您需要确保所有未嵌入PDF字体的字体文件都在fontconfig路径中。您可以在fontconfig配置文件(通常为/etc/fonts/fonts.config(中看到路径列表。查看该文件顶部的目录列表。如果你的字体文件不在其中一个中,那么它将找不到。
在您的情况下,我会将字体文件移动到/usr/share/fonts中,而不是子目录中。