nodejs pdf2json缺少)参数列表之后

时间:2016-03-08 04:58:16

标签: javascript node.js

我是Javascript nodejs的新手,我试图从hithub使用modesty / pdf2json。但是有错误显示缺失)语法错误,下面是注​​释中的代码和错误标志,

let fs = require('fs'),
    PDFParser = require("./pdf2json/PDFParser");

let pdfParser = new PDFParser();

pdfParser.on("pdfParser_dataError", errData => console.error(errData) );
    //Syntax error here missing ) at "errData"
pdfParser.on("pdfParser_dataReady", pdfData => {
    let pJSON = JSON.stringify({"formImage": pdfData.data});
    //Syntax error here missing ) at "pdfData"

    fs.writeFile("./pdf2json/test/F1040EZ.json", pJSON, (err) => {
        if(err) {
            console.error("parsing error: ", err);
        }
        else {
            console.log("parsing succeeded");
        }
    });
});

pdfParser.loadPDF("./pdf2json/test/pdf/fd/form/F1040EZ.pdf");

// or, call directly with buffer
fs.readFile(pdfFilePath, function (err, pdfBuffer) {
  if (!err) {
    pdfParser.parseBuffer(pdfBuffer);
  }
})

" =>"是什么意思? ?导致错误趋向于弹出带有此符号的行。

2 个答案:

答案 0 :(得分:1)

这是在ES6中引入的箭头功能。

根据MDN

与函数表达式相比,箭头函数表达式(也称为胖箭头函数)具有更短的语法,并且词汇绑定此值(不绑定它自己的this,arguments,super或new.target)。箭头功能始终是匿名的。

(param1, param2, …, paramN) => { statements }
(param1, param2, …, paramN) => expression
         // equivalent to:  => { return expression; }

// Parentheses are optional when there's only one parameter:
(singleParam) => { statements }
singleParam => { statements }

// A function with no parameters requires parentheses or an underscore:
() => { statements }
_ => { statements }

您能告诉我您执行此代码的方式吗?

<强>更新 在严格模式之外,不允许使用块范围声明。因此,在脚本中使用严格模式。

答案 1 :(得分:0)

是ES6标记:

param => { } 

与:

相同
function (param) { }

Read more about ES6

以下代码适用于节点:

"use strict"
let fs = require("fs"),
    PDFParser = require("pdf2json");

let pdfParser = new PDFParser();

pdfParser.on("pdfParser_dataError", errData => { 
    console.error(errData) 
});

pdfParser.on("pdfParser_dataReady", pdfData => {
    let pJSON = JSON.stringify({
        "formImage": pdfData.data
    });

    fs.writeFile("./pdf2json/test/F1040EZ.json", pJSON, err => {
        if (err) {
            console.error("parsing error:", err);
        } else {
            console.log("parsing succeeded");
        }
    });
});

pdfParser.loadPDF("./pdf2json/test/pdf/fd/form/F1040EZ.pdf");

您还可以尝试使用代码的ES5版本:(注意功能和var代替let

var fs = require('fs'),
    PDFParser = require("pdf2json");

var pdfParser = new PDFParser();

pdfParser.on("pdfParser_dataError", function (errData) { console.error(errData) });
pdfParser.on("pdfParser_dataReady", function (pdfData) {
    var pJSON = JSON.stringify({"formImage": pdfData.data});

    fs.writeFile("./pdf2json/test/F1040EZ.json", pJSON, function (err) {
        if(err) {
            console.error("parsing error: ", err);
        } else {
            console.log("parsing succeeded");
        }
    });
});

pdfParser.loadPDF("./pdf2json/test/pdf/fd/form/F1040EZ.pdf");