2016-10-27 54 views
0

我已经成功地得到我的代码输出为PDF,但是当我尝试使用在使用下面的代码documentation列出的“保证金”属性调整页边距,NodeJS和PDFkit:'margin'属性给出“意外的标识符”错误?

var pdf = require ('pdfkit'); 
var fs = require('fs'); 

var doc = new pdf(
{ 
    size: [288,144] 

} 
); 

doc.pipe(fs.createWriteStream('run.pdf')); 

doc.font('Times-Roman') 
    .text('Hello different Times Roman!') 

doc.addPage({ 
    size: [288,144] 
    margin : 10 
}); 

doc.end(); 

我得到这个错误:

margin : 10 
^^^^^^ 

SyntaxError: Unexpected identifier 
    at exports.runInThisContext (vm.js:53:16) 
    at Module._compile (module.js:373:25) 
    at Object.Module._extensions..js (module.js:416:10) 
    at Module.load (module.js:343:32) 
    at Function.Module._load (module.js:300:12) 
    at Function.Module.runMain (module.js:441:10) 
    at startup (node.js:139:18) 
    at node.js:974:3 

我在这里错过了一些明显的东西吗?

+1

这JSON,只是包括'大小后逗号:[288144]'。 – Dandy

+0

@Dandy这工作!谢谢! – user3574621

+0

我为未来的读者添加了答案。 – Dandy

回答

1

只是为了确保未来的读者在这里遇到这个特定的问题,这是一个JavaScript对象。列出JavaScript对象时,除了最后一个实例外,每个属性都必须跟一个,

作为一个例子,这样的:

doc.addPage({ 
    size: [288,144] 
    margin : 10 
}); 

变成这样:

doc.addPage({ 
    size: [288,144], 
    margin : 10 
}); 
+0

这是一个有点迂腐,但它不是JSON,它是一个JavaScript对象。如果将它编码为字符串,它将是JSON(http://stackoverflow.com/questions/8294088/javascript-object-vs-json)。但相同的格式和语法适用,所以问题仍然解决。 +1 –

+0

公平点!我会编辑我的答案。 – Dandy