如何使用pdfkit解决Node js中的错误"Cannot read property 'write' of null"



当我使用下面的代码时,我收到上述错误。

var pdf = new PDFDocument({
autoFirstPage: false
});
pdf.fontSize(10);

var table = new PdfTable(pdf, {
bottomMargin: 30,
});
for (var l = 0; l < attendance.length; l++) {
pdf 
.text("Employee Name : "+attendance[l].employee_name, 
{
width: 100,
height: 50,
align: 'left',
}
);


pdf
.fontSize(12)
.text("Employee Role", {
width: 100,
height: 50,
align: 'right'
}
);
pdf.moveDown();
table.addPlugin(new (require('voilab-pdf-table/plugins/fitcolumn'))({
column: 'purpose',
align: 'left'
}))
.setColumnsDefaults({
headerBorder: 'B',
align: 'center',
padding: [8, 5, 5, 5],
})
.addColumns([
{
id: 'sno',
header: '#',
width: 40
},
{
id: 'DATE',
header: 'DATE',
width: 70
},
{
id: 'startTime',
header: 'Start Time',
width: 70
},
{
id: 'endTime',
header: 'End Time',
width: 70,
},
{
id: 'workTime',
header: 'Work Time',
width: 100
},
{
id: 'breakTime',
header: 'Break Time',
width: 100
},
{
id: 'payable',
header: 'Payable',
width: 90,
}
])
.onPageAdded(function (tb) {
tb.addHeader();
});
pdf.moveDown();
pdf.addPage();

执行代码时出现以下错误

TypeError: Cannot read property 'write' of null
at PDFDocument.addContent (A:executeappppm-backendnode_modulespdfkitjspdfkit.js:4365:15)
at PDFDocument.save (A:executeappppm-backendnode_modulespdfkitjspdfkit.js:1702:17)
at PDFDocument._fragment (A:executeappppm-backendnode_modulespdfkitjspdfkit.js:3422:10)
at PDFDocument._line (A:executeappppm-backendnode_modulespdfkitjspdfkit.js:3314:10)
at LineWrapper.emit (events.js:203:15)
at LineWrapper.EventEmitter.emit (domain.js:448:20)
at emitLine (A:executeappppm-backendnode_modulespdfkitjspdfkit.js:2937:12)
at eachWord (A:executeappppm-backendnode_modulespdfkitjspdfkit.js:2991:9)
at LineWrapper.eachWord (A:executeappppm-backendnode_modulespdfkitjspdfkit.js:2893:26)
at LineWrapper.wrap (A:executeappppm-backendnode_modulespdfkitjspdfkit.js:2943:10)
at PDFDocument._text (A:executeappppm-backendnode_modulespdfkitjspdfkit.js:3128:15)
at PDFDocument.text (A:executeappppm-backendnode_modulespdfkitjspdfkit.js:3141:17)
at AttendancePdf (A:executeappppm-backendutilityrecurringTask.js:429:10)
at A:executeappppm-backendutilityrecurringTask.js:365:48
at A:executeappppm-backendnode_modulesmongooselibmodel.js:4599:16
at A:executeappppm-backendnode_modulesmongooselibquery.js:4351:12
at process.nextTick (A:executeappppm-backendnode_modulesmongooselibquery.js:2849:28)
at process._tickCallback (internal/process/next_tick.js:61:11)
Emitted 'error' event at:

错误发生在代码块中

pdf
.fontSize(12)
.text("Employee Role", {
width: 100,
height: 50,
align: 'right'
}
);

我已经尝试了很多方法来解决这个问题,我很确定我使用的代码是正确的。但我不知道我哪里出错了。

请帮助我解决此错误 提前致谢

遇到了同样的问题。对我来说,问题是您必须添加至少一个页面,否则它会引发此错误。

相关内容

最新更新