如何:在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字体的注册方式进行注册。