2

I am using html-pdf@2.1.0 in my meteor app. When .create() called then following error genereated. Initially it was working but after updated of Mac Sierra it generate the following error. However it is working in 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)

code:-

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);
tts
  • 157
  • 1
  • 1
  • 13

3 Answers3

1

run

npm update 

in your project folder. It solves my problem!

Nicolas S.Xu
  • 13,794
  • 31
  • 84
  • 129
1

Same happened to me after upgrading to Mac OS High Sierra. npm install -g phantomjs followed by npm rebuild worked.

Naman Khator
  • 351
  • 4
  • 14
0

This error can be thrown when an underlying library is missing in the system. In my case (mac os x) the missing library was sshpass

jgutix
  • 661
  • 1
  • 6
  • 8