【问题标题】:Phantomjs PDF output shows chinese characters as blankPhantomjs PDF输出显示中文字符为空白
【发布时间】:2018-12-30 14:45:45
【问题描述】:

我在 ubuntu 16.04 上使用 Phantomjs 2.1.1 从 HTML 生成 PDF 文件(一个名为 node-html-pdf 的 NPM 包)。 我的问题是中文字符根本没有出现在输出 PDF 中,而其他一切都很好。在本地,在我的 Mac 上,相同的 HTML 生成正常(中文显示正常)。 我试过安装这样的语言包:

sudo apt-get install language-pack-zh-hans
sudo apt-get install ttf-arphic-uming
sudo apt-get install ttf-dejavu ttf-wqy-microhei
sudo fc-cache -f -v

还尝试在 HTML 中包含 Content-Type: text/html; charset=utf-8。 还有什么我可以尝试的吗?

【问题讨论】:

  • 服务器可能没有必要的字体。尝试手动安装它们。

标签: node.js pdf phantomjs ubuntu-16.04 html-pdf


【解决方案1】:

大多数字体默认安装在 MAC 中,但不存在于 Ubuntu 等开源操作系统上。我面临着同样的问题。当我安装这些时它得到了解决。

试试sudo apt-get install fonts-wqy-zenhei。它应该可以工作。

【讨论】:

  • 这对我有用 - 我试图让中文字符使用 Highcharts 导出服务器呈现,这解决了问题。谢谢!
【解决方案2】:

听起来您在服务器上有这个,但那里没有必要的字体。但是在你的 Mac 上你可能有字体。我会尝试向您的服务器添加更多字体,看看是否能解决您的问题。

https://github.com/m13253/kaigen-fonts

可能会有帮助。

【讨论】:

  • 感谢您的回复,我尝试了很多其他字体 - 没有成功
  • 你能给我一个示例 pdf 的链接吗?
猜你喜欢
  • 2021-01-11
  • 1970-01-01
  • 2014-10-15
  • 2013-12-22
  • 1970-01-01
  • 2017-11-26
  • 1970-01-01
  • 2021-09-23
  • 2017-01-05
相关资源
最近更新 更多