firebase - 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}
);
}
我已经尝试了一切。我在根文件夹中添加了文件并尝试了以下选项:
- .font ('字体/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}
);
}
推荐阅读
- java - 来自不同模块的类导致 java.lang.IllegalArgumentException: Not a managed type
- sql - 如何选择 a.* FROM a WHERE 除外 SELECT b.* FROM b WHERE a.id != b.id
- ios - Swift 测试:控制 moc api 客户端行为
- python - 如果要显示评论,我如何限制数字
- php - 使用 bindParam 查询不能按预期工作,但它可以使用原始输入?
- docker - 无法从 Docker 本地不安全注册表中提取图像:http:服务器向 HTTPS 客户端提供了 HTTP 响应
- reactjs - Caldera Form Advanced File Upload 2 不在 Internet Explorer 中呈现
- python - 在 python 中将 h264 代码转换为图像
- reactjs - 如何在反应中将选择框的值重置为默认值
- python - 按下空格键开始游戏(海龟模块)