首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pdfmake在服务器端安装CJK、阿拉伯语和其他外语的自定义字体

pdfmake在服务器端安装CJK、阿拉伯语和其他外语的自定义字体
EN

Stack Overflow用户
提问于 2020-01-16 05:01:39
回答 2查看 1.8K关注 0票数 0

我使用NodeJS 12在服务器端使用PDFMake生成PDF。

PDF呈现的文本混合了英语和外语字符。PDF可以正常工作,但是没有一个外语字符可以正确呈现。我做了一些研究,看起来我需要安装一个可以处理外语字符的自定义字体。

我按照这里接受的答案在服务器端安装了谷歌NotoSans字体。

How to create a PDF on Node.js using PDFMake and vfs_fonts?

代码语言:javascript
运行
复制
  fonts = {
    NotoSans: {
      normal: path.join(__dirname, '..', 'public', 'fonts/NotoSans-unhinted/NotoSans-Black.ttf'),
      bold: path.join(__dirname, '..', 'public', 'fonts/NotoSans-unhinted/NotoSans-Bold.ttf'),
      italics: path.join(__dirname, '..', 'public','fonts/NotoSans-unhinted/NotoSans-BlackItalic.ttf'),
      bolditalics: path.join(__dirname, '..', 'public','fonts/NotoSans-unhinted/NotoSans-BoldItalic.ttf'),
    },
  }

字体安装正确(所有英文字符均以此字体正确显示)。但是,中文和其他外语字符不起作用(它们只是显示为空矩形)。

我还可以采取哪些其他故障排除步骤来解决此问题?谢谢!

更新:我安装的字体实际上并不支持我需要的所有语言,有没有支持它的字体?或者我需要找到一种方法将多种字体组合成一种字体?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-16 05:09:25

你必须检查字体的语言支持!

Noto Sans既没有中文也没有阿拉伯语支持。DOCS

您可以检测内容的语言并重定向到正确的字体:Noto Fonts List或使用具有广泛语言支持的字体,如Unicode Fonts

票数 1
EN

Stack Overflow用户

发布于 2020-12-02 16:48:51

如果您使用Arial Unicode MS作为@gmazoni segust,您将同时获得所有语言字符。使用来自pdfmake docs的过程,您可以从here下载字体

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59759483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档