node.js - 如何: output Euro symbol in pdfkit for nodejs

标签 node.js pdfkit euro

是否可以在 nodejs 的 pdfkit 中显示欧元符号而无需嵌入外部字体?

我正在使用 pdfKit 生成发票,并希望在我的货币金额前加上欧元符号 (€)。

我尝试了很多方法,但都没有用:

doc.font('Helvetica-Bold')
    .fontSize(12)
    .text('€', 10, 10); // Alt+0128 on keypad

doc.font('Helvetica-Bold')
    .fontSize(12)
    .text('\u20AC', 10, 10);

最佳答案

原来是字体问题:

unicode works, but you have to make sure that the font you are using includes the characters you want to use. Unlike your operating system, PDFKit does not do any automatic font substitution.

来源:Reddit Thread/u/devongovett 发表评论


我测试了 pdfkit 中包含的两种字体。 “Helvetica-Bold”和“Times-Roman”都不适用于 unicode 符号。我在 documentation for fonts 中注意到你可以添加自己的字体,所以我给了 Cardo Font (托管在 Google 字体上)因为它支持许多 unicode 字符。

果然,它成功了。这是我用于测试的脚本(确保您有可用的 Cardo 字体):

var PDFDocument = require('pdfkit');
var doc = new PDFDocument();

doc.registerFont('Cardo', 'Cardo/Cardo-Regular.ttf')

doc.font('Cardo')
    .fontSize(20)
    .text('Testing [\u20AC]', 10, 10);

doc.write('out.pdf');

如果您打算使用 Helvetica-Bold,请从别处下载该字体的副本(确保它支持您需要的 unicode 字符)并像我使用 Cardo 字体那样注册它。

关于node.js - 如何: output Euro symbol in pdfkit for nodejs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18718559/

相关文章:

node.js - npm install 成功,但 npm run start 无法找到 rimraf 和 react-scripts,尽管它们已安装

swift - 如何以 CGRect 形式获取所选文本的边界?

character-encoding - 在哪种编码中 0xDB 是货币符号?

php - FPDF 和欧元符号的问题

node.js - 将 md5 哈希值添加到 mongo 集合

node.js - Redis 使用 node.js 占用内存

javascript - 来自客户端 express nodejs 的重复请求

ios - 如何在“打开方式...”菜单中使用我的应用程序将 pdf 文件作为 URL 加载

cocoa - 是否可以不在使用 PDFKit 生成的 PDF 中嵌入字体?

angular - 如何在Angular中向右显示货币符号