【发布时间】:2018-07-27 20:26:28
【问题描述】:
我有以下代码用于测试驱动器PDFmake。
我对字体文件的位置有疑问。我看到的文档似乎表明在拉入 vfs_fonts 文件后我应该能够看到它们。然而这对我来说不是这样。
function createPdf(assessmentId: string): string {
const pdfMake = require('pdfmake/build/pdfmake.js');
const pdfFonts = require('pdfmake/build/vfs_fonts.js');
pdfMake.vfs = pdfFonts.pdfMake.vfs;
//required font setup, requires that you link to the fonts shipped with npm
const fontDescriptors = {
Roboto: {
normal: 'Roboto-Regular.ttf',
bold: 'Roboto-Medium.ttf',
italics: 'Roboto-Italic.ttf',
bolditalics: 'Roboto-Italic.ttf',
}
};
const termpaper = new PdfLayout();
const docDefinition = termpaper.layout
const printer = new Printer(fontDescriptors);
//get a reference to the PdfKit instance, which is a streaming interface
const pdfDoc = printer.createPdfKitDocument(docDefinition);
return "pdflocation";
}
当这段代码执行时,我得到了这个错误。
错误:
ENOENT:没有这样的文件或目录,打开“Roboto-Medium.ttf” 在错误(本机) 在 Object.fs.openSync (fs.js:642:18) 在 Object.fs.readFileSync (fs.js:510:33) 在 Object.fontkit.openSync (/user_code/node_modules/pdfmake/node_modules/fontkit/index.js:43:19) 在 Function.PDFFont.open (/user_code/node_modules/pdfmake/node_modules/pdfkit/js/font.js:14:24) 在 PDFDocument.font (/user_code/node_modules/pdfmake/node_modules/pdfkit/js/mixins/fonts.js:39:28) 在 FontProvider.provideFont (/user_code/node_modules/pdfmake/src/fontProvider.js:49:58) 在 /user_code/node_modules/pdfmake/src/textTools.js:258:27 在 Array.forEach (本机) 在测量(/user_code/node_modules/pdfmake/src/textTools.js:240:13)
我需要做什么才能正确找到这些字体文件?
【问题讨论】:
标签: javascript fonts pdfmake