当前位置: 首页 > 面试题库 >

如何:在pdfkit中为Node.js输出欧元符号

江建明
2023-03-14
问题内容

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

我正在使用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不会执行任何自动字体替换。

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

我测试了pdfkit附带的两种字体。“ Helvetica-Bold”和“ Times-
Roman”均不适用于unicode符号。我在字体文档中注意到可以添加自己的字体,因此我选择了Cardo
Font
(托管在Google
Fonts上),因为它支持许多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字体。



 类似资料:
  • net.sf.jasperreports.export.character.encoding-AS-ISO-8859-15 我可以在XLS导出中获得正确的欧元符号,但PDF仍然没有产生。谁能告诉我我错过了什么。

  • 我使用XML用Java和Intellij IDE生成一个jasper报告,jasper版本是5.0.4。 在文件中有欧元符号,但是在pdf上创建报表时,我看到的是而不是 它是如何来的,我应该向文件添加什么来解决这个问题?

  • 问题内容: 使用Oracle 10.2.0.3 JDBC驱动程序从Oracle 10g中保存和检索欧元字符时,我们遇到了欧元字符问题。仅在Linux下运行JUnit测试期间才会出现此问题。保存后从数据库返回的欧元字符总计被破坏。Oracle已配置为使用字符集“ WE8MSWIN1252”。难道Linux无法使用此字符集吗? 问题答案: 这不是Linux的事情。这是jdbc驱动程序的检索代码中的一个

  • 问题内容: 用于退出的命令是什么?(即终止Node.js进程) 问题答案: 调用全局对象的方法: 从文档: process.exit([code]) 以指定的结束进程。如果省略,则退出使用“成功”代码。 要以“失败”代码退出: 执行节点的外壳程序应将退出代码视为。

  • 我正在使用discord.js模块在NodeJS中创建一个不和谐机器人,我想在用户发送特定文本命令的相同通道中发送预定义的消息。例如。 我希望输出是

  • 我正在使用HM-10副本CC4A-1模块。我把它和Arduino Uno R3连接在一起,经过很多努力,它连接上了。我使用Arduino串行监视器执行了一些AT命令,在执行AT RENEW命令后,它突然停止工作。我还试图执行AT BAUD