2

我在我的流星应用程序中使用html-pdf@2.1.0 。调用时.create()会产生以下错误。最初它可以工作,但在更新 Mac Sierra 后会产生以下错误。但是它在ubuntu os中工作。

W20180118-09:52:33.939(5.5)? (STDERR) Error: spawn ENOTDIR
W20180118-09:52:33.940(5.5)? (STDERR)     at exports._errnoException (util.js:907:11)
W20180118-09:52:33.940(5.5)? (STDERR)     at ChildProcess.spawn (internal/child_process.js:298:11)
W20180118-09:52:33.941(5.5)? (STDERR)     at Object.exports.spawn (child_process.js:362:9)
W20180118-09:52:33.941(5.5)? (STDERR)     at PDF.PdfExec [as exec] (/Users/vineet/fees-mcop-141017/node_modules/html-pdf/lib/pdf.js:87:28)
W20180118-09:52:33.942(5.5)? (STDERR)     at PDF.PdfToBuffer [as toBuffer] (/Users/vineet/fees-mcop-141017/node_modules/html-pdf/lib/pdf.js:44:8)
W20180118-09:52:33.942(5.5)? (STDERR)     at route.js:646:41
W20180118-09:52:33.943(5.5)? (STDERR)     at packages/meteor/helpers.js:118:1
W20180118-09:52:33.947(5.5)? (STDERR)     at route.js:674:17
W20180118-09:52:33.947(5.5)? (STDERR)     at [object Object].<anonymous> (route.js:574:29)
W20180118-09:52:33.948(5.5)? (STDERR)     at boundNext (packages/iron_middleware-stack/lib/middleware_stack.js:251:1)

代码:-

let content = fs.readFileSync(process.env.PWD + '/public/html/itc.html');

            let compiled = template(content);
            let todayDate = moment().format('DD-MMM-YYYY');

            let itcPDFCompiled = compiled({
                headername: headerName                   
            });
            let options = {
                format: 'A4',
                "header": { "height": "5mm" },
                "footer": {
                    "height": "8mm",
                    "contents": {
                        default: '<span style="color: #444;float:right;padding:0px 10px;font-size:10px;">' + todayDate + '</span>',
                    }
                }
 };

var requestSync = Meteor.wrapAsync(function (itcPDFCompiled, options, callback) {

  pdf.create(itcPDFCompiled, options).toFile(path + file_name + '.pdf', function (err, res) {
        if (err)
             callback(err);
        else
             callback(null);
     });

});

requestSync(itcPDFCompiled, options);
4

3 回答 3

1

升级到 Mac OS High Sierra 后我也遇到了同样的情况。 npm install -g phantomjs其次是npm rebuild工作。

于 2018-03-27T12:53:28.260 回答
0

npm update 

在您的项目文件夹中。它解决了我的问题!

于 2018-01-30T18:52:33.227 回答
0

当系统中缺少底层库时,可能会引发此错误。就我而言(mac os x),缺少的库是sshpass

于 2018-04-24T21:56:27.053 回答