如何:在pdfkit中为nodejs输出欧元符号

是否有可能在pdfkit中显示欧元符号为nodejs而不必embedded外部字体?

我正在使用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的作品,但你必须确保你使用的字体包括你想使用的字符。 与您的操作系统不同,PDFKit不会执行任何自动字体replace。

来源: Reddit线程评论由/ u / devongovett


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

果然,它的工作。 这里是我用来testing的脚本(确保你有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字体的注册方式进行注册。

Interesting Posts