Node.js meteor应用程序中pdfmake中的服务器端字体目录

Node.js meteor应用程序中pdfmake中的服务器端字体目录,node.js,meteor,pdfmake,Node.js,Meteor,Pdfmake,我正在尝试在服务器上创建并保存pdf。我使用了meteorhacks:npm打包并在服务器端安装了pdfmake 我的代码位于服务器目录下的子目录中。我只是用这个例子来确保我可以生成一个基本的pdf var fonts = { Roboto: { normal: 'fonts/Roboto-Regular.ttf', bold: 'fonts/Roboto-Medium.ttf',

我正在尝试在服务器上创建并保存pdf。我使用了meteorhacks:npm打包并在服务器端安装了pdfmake

我的代码位于服务器目录下的子目录中。我只是用这个例子来确保我可以生成一个基本的pdf

 var fonts = {
                Roboto: {
                    normal: 'fonts/Roboto-Regular.ttf',
                    bold: 'fonts/Roboto-Medium.ttf',
                    italics: 'fonts/Roboto-Italic.ttf',
                    bolditalics: 'fonts/Roboto-Italic.ttf'
                }
            };
            var PdfPrinter = Meteor.npmRequire('pdfmake/src/printer');
            var printer = new PdfPrinter( fonts );

            var dd = {
                content: [
                    'First paragraph',
                    'Another paragraph'
                ]
            };
            var pdfDoc = printer.createPdfKitDocument(dd);
            pdfDoc.pipe(fs.createWriteStream('basics.pdf')).on('finish',function(){
                //success
            });
            pdfDoc.end();
我越来越

 Error: ENOENT, no such file or directory 'fonts/Roboto-Regular.ttf'
我有点困惑,我的字体目录应该在哪里

我试图调试pdfmake库,但却迷路了。把字体目录放在不同的地方,没有运气


有什么想法吗?

下载roboto字体并在根目录中创建字体文件夹,然后粘贴这些依赖文件。

下载roboto字体并在根目录中创建字体文件夹,然后粘贴这些依赖文件。

我想你可能需要将字体放在/public/font目录中,以便访问。如果尚未创建meteor项目,则该公用文件夹将放在meteor项目的根目录中。我认为您可能需要将字体放在/public/fonts目录中才能访问。如果尚未创建meteor项目,则该公用文件夹将放在meteor项目的根目录中。