[Vue] 使用pdf-lib和@pdf-lib/fontkit 报错 fontkit.create is not a function

发布时间 2023-07-13 10:16:50作者: WikiChen

描述:

  pdf-lib注册了@pdf-lib/fontkit后 ( pdfDoc.registerFontkit(fontkit) ),内部调用了fontkit的create方法,但是这个方法不存在。

  我在控制台打印了下fontkit对象,发现fontkit包了一层default , 即  fontkit.default.create() , 所以找不到这个方法 , pdf-lib 使用的是 fontkit.create() 。

  虽然试了下,把 pdfDoc.registerFontkit(fontkit) 改成 pdfDoc.registerFontkit(fontkit.default) ,

       但之后又出现了其他问题,如 this.font.layout is not a function ,可能是加载的字体问题。

  后来也换了其他字体,就没有报错了,但写入的内容是空白的(这个是自己把代码写错后,后来才发现的,但这时已经把包换了,所以没有去尝试 pdfDoc.registerFontkit(fontkit.default)  是否可行 )。

 

解决方法:

 卸载 @pdf-lib/fontkit,改用 pdf-fontkit(https://github.com/znacloud/pdf-fontkit),修改引入。

npm uninstall @pdf-lib/fontkit
npm i pdf-fontkit
import fontkit from 'pdf-fontkit'