首页 > 解决方案 > Firebase Cloud 函数中用于创建 PDF 的自定义字体

问题描述

我正在尝试在 Firebase 云功能中使用 PDFKit 来创建一个带有 1 行文本和自定义字体的 pdf。我已经创建了文件夹“字体”并将 ttf 添加到其中。只有我经常在日志中收到此错误:

TestPdf 错误:ENOENT:没有这样的文件或目录,在 Object.readFileSync(fs.js:364:35)处的 Object.openSync(fs.js:462:3)处打开“upc-a.tff”

有问题的函数如下所示:

function generateBarcode (doc) {
   doc
   .font ('fonts / upc-a.tff')
     .fontSize (50)
     .text (
       "Testtest2",
       80,
       780,
       {align: "center", width: 500}
     );
}

我已经尝试了一切。我在根文件夹中添加了文件并尝试了以下选项:

这是文件夹的屏幕截图: 在此处输入图像描述

但一切都没有成功。有谁能帮助我吗?

标签: firebasegoogle-cloud-functionsnode-pdfkit

解决方案


问题似乎正在发生,因为您已upc-a.ttf正确创建文件,但是当您在函数中提供路径时,您generateBarcode正在提供路径./fonts/upc-a.tff- 文件扩展名错误的路径。它应该是.ttf(TrueType 字体文件扩展名),因此您的文件未找到错误。

请更改.tff.ttf以下内容,这将解决您的问题。

function generateBarcode (doc) {
    doc
       .font('fonts/upc-a.ttf')
       .fontSize (50)
       .text(
           "Testtest2",80,780,{align: "center", width: 500}
       );
}

推荐阅读