代码之家  ›  专栏  ›  技术社区  ›  Yury

wkhtmltopdf在Debian上的哪里查找字体?

  •  0
  • Yury  · 技术社区  · 8 年前

    这与(源于)密切相关 What is the Debian equivalent of urw-fonts (needed for utf-8 in wkhtmltopdf)?

    但我认为这本身就是一个有效的问题。如链接中所述,我正在尝试使用wkhtmltopdf(通过Debian中的命令行)将多语言utf-8 html文档转换为pdf。一些语言没有正确呈现,显示为白色或黑色矩形,可能是因为wkhtmltopdf无法找到或访问必要的字体。

    问题: wkhtmltopdf在系统(Debian)的哪个位置查找字体,如果可能的话,我如何检查它在特定命令下查找的字体?

    1 回复  |  直到 8 年前
        1
  •  2
  •   v7d8dpo4    8 年前

    /usr/share/fonts/ .

    此命令显示命令的字体 foo 通道

    strace -e open -o >(sed -n '/^open("\/usr\/share\/fonts\//p') foo
    

    strace 显示系统调用。 -e open 表示仅显示打开文件的系统调用。 -o >(sed -n '/^open("\/usr\/share\/fonts\//p') 表示将输出输出到sed,它只打印打开文件的系统调用 /usr/共享/字体/ .

    对于某些程序,打开详细输出并检查其stderr是否说明使用了哪些字体是有用的。

    对于您的特定问题,还要检查HTML文件的编码是否正确指定。

    以strace的输出为例

    open("/usr/share/fonts/X11/Type1/n019004l.pfb", O_RDONLY) = 8
    

    它的格式与您使用的格式相同 open /usr/share/fonts/X11/Type1/n019004l.pfb 是文件的路径。 O_RDONLY 表示以只读方式打开。 8 表示操作成功,结果文件描述符为8。请参阅打开的手册页。

    推荐文章