我用pdf2htmlEX
它来将 pdf 转换为 html,在 Mac 上本地生成时输出显示正确,但在 amazon linux 上生产时则显示不正确。多个页面都有这个问题,但我将使用第 22 页pdf作为一个具体例子。
对于错误的 html 输出(在 Linux 上生成):
- 虽然某些文本在浏览器中呈现时不可见,但使用 chrome 开发工具检查后发现正确的文本位于底层 html 中
- 这是由于元素的 css
visibility
属性(由类名指定ff13
)设置为而导致的hidden
,而在正确的转换中它被设置为visible
- 我可以在开发工具的 css 样式计算选项卡下看到
rendered fonts
正确的字体是DejaVu Sans
,错误的字体是Helvetica
我检查并确认DejaVuSans.ttf
Linux 机器上安装了(和其他 DejaVu 字体)/usr/share/fonts/dejavu/
,所以我最好的猜测是,由于某种原因,程序pdf2htmlEX
在进行转换时找不到字体文件,因此它将 cssvisibility
属性标记为hidden
。我还尝试安装核心苹果(来源这里) 和微软字体,重新启动机器,然后重试,但似乎没有帮助。
我检查了一下,在目录/etc/fonts/fonts.conf
下看到了。我将字体文件从复制到,然后重新启动,但似乎不起作用。当我运行 sudo 时,我看到了,当我运行时,我看到了各种条目。<!-- Font directory list -->
<dir>/usr/share/fonts</dir>
/usr/share/fonts/dejavu/
/usr/share/fonts/
fc-cache -f -v
/usr/share/fonts/dejavu/
fc-list
DejaVu Sans
有人知道如何修复这个问题或从这里排除故障吗?提前感谢大家的帮助!