问题描述
我正在尝试在 Firebase 云函数中使用 PDFKit 创建带有 1 行文本和自定义字体的 pdf。我创建了文件夹“fonts”并将 ttf 添加到其中。只有我经常在日志中收到此错误:
TestPdf 错误:ENOENT:没有这样的文件或目录,请在以下位置打开“upc-a.tff” Object.openSync (fs.js: 462: 3) at Object.readFileSync (fs.js: 364: 35) 在
有问题的函数如下所示:
function generateBarcode (doc) {
doc
.font ('fonts / upc-a.tff')
.fontSize (50)
.text (
"Testtest2",80,780,{align: "center",width: 500}
);
}
我已经尝试了一切。我在根文件夹中添加了文件并尝试了以下选项:
- .font ('fonts / upc-a.tff')
- .font('./fonts/upc-a.tff')
- .font('/fonts/upc-a.tff')
- .font ('upc-a.tff')(当文件在根文件夹时)
这是文件夹的截图:
但一切都没有成功。有谁能帮帮我吗?
解决方法
问题似乎正在发生,因为您已正确创建了文件 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}
);
}