【问题标题】:Russian symbols in PDF (pdfkit)PDF 中的俄语符号 (pdfkit)
【发布时间】:2021-05-04 09:31:40
【问题描述】:

按照https://pspdfkit.com/blog/2019/generate-invoices-pdfkit-node/的例子创建一个pdf文件

问题是显示俄语字符:“Aô@Cä2CT@C¤0”,但应该是“Проверка”。如何将编码设置为 UTF-8?

function createInvoice(invoice, path) {
  let doc = new PDFDocument({ margin: 50 });

  generateHeader(doc);

  doc.end();
  doc.pipe(fs.createWriteStream(path));
}

function generateHeader(doc) {
  doc
    .image("logo.png", 50, 45, { width: 50 })
    .fillColor("#444444")
    .fontSize(20)
    .text("Проверка", 110, 57)
    .fontSize(10)
    .text("Проверка", 100, 65, { align: "right" })
    .text("Проверка", 100, 80, { align: "right" })
    .moveDown();
}

【问题讨论】:

  • 您是如何创建 pdf 的?顺便说一句,您可能应该更改字体:出于兼容性原因,PDF 中的旧式(和少数)字体使用旧式编码,所有其他字体(和文本)必须是 unicode
  • function createInvoice(invoice, path) { let doc = new PDFDocument({ margin: 50 });生成标题(文档); doc.end(); doc.pipe(fs.createWriteStream(path)); } function generateHeader(doc) { doc .image("logo.png", 50, 45, { width: 50 }) .fillColor("#444444") .fontSize(20) .text("Проверка", 110, 57 ) .fontSize(10) .text("Проверка", 100, 65, { align: "right" }) .text("Проверка", 100, 80, { align: "right" }) .moveDown(); }
  • 注意:您应该编辑您的问题,添加此类详细信息。

标签: node.js utf-8 pdfkit


【解决方案1】:

我下载了字体文件并包含它:

.font(`${__dirname}/arial.ttf`)

谢谢!

【讨论】:

    【解决方案2】:

    我认为你必须使用支持俄语字符的字体

    看这个帖子 https://github.com/foliojs/pdfkit/issues/262

    【讨论】:

      猜你喜欢
      • 2013-03-05
      • 1970-01-01
      • 1970-01-01
      • 2015-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      相关资源
      最近更新 更多