gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 22:37:34 25 4
gpt4 key购买 nike

是否可以在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com