首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决在使用pdfkit时,节点js中出现“无法读取属性'write‘of null”的错误

如何解决在使用pdfkit时,节点js中出现“无法读取属性'write‘of null”的错误
EN

Stack Overflow用户
提问于 2019-11-26 17:20:57
回答 1查看 1.3K关注 0票数 1

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

代码语言:javascript
复制
 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();

当我执行代码时,我得到了下面的错误

代码语言:javascript
复制
TypeError: Cannot read property 'write' of null
    at PDFDocument.addContent (A:\executeapp\ppm-backend\node_modules\pdfkit\js\pdfkit.js:4365:15)
    at PDFDocument.save (A:\executeapp\ppm-backend\node_modules\pdfkit\js\pdfkit.js:1702:17)
    at PDFDocument._fragment (A:\executeapp\ppm-backend\node_modules\pdfkit\js\pdfkit.js:3422:10)
    at PDFDocument._line (A:\executeapp\ppm-backend\node_modules\pdfkit\js\pdfkit.js:3314:10)
    at LineWrapper.emit (events.js:203:15)
    at LineWrapper.EventEmitter.emit (domain.js:448:20)
    at emitLine (A:\executeapp\ppm-backend\node_modules\pdfkit\js\pdfkit.js:2937:12)
    at eachWord (A:\executeapp\ppm-backend\node_modules\pdfkit\js\pdfkit.js:2991:9)
    at LineWrapper.eachWord (A:\executeapp\ppm-backend\node_modules\pdfkit\js\pdfkit.js:2893:26)
    at LineWrapper.wrap (A:\executeapp\ppm-backend\node_modules\pdfkit\js\pdfkit.js:2943:10)
    at PDFDocument._text (A:\executeapp\ppm-backend\node_modules\pdfkit\js\pdfkit.js:3128:15)
    at PDFDocument.text (A:\executeapp\ppm-backend\node_modules\pdfkit\js\pdfkit.js:3141:17)
    at AttendancePdf (A:\executeapp\ppm-backend\utility\recurringTask.js:429:10)
    at A:\executeapp\ppm-backend\utility\recurringTask.js:365:48
    at A:\executeapp\ppm-backend\node_modules\mongoose\lib\model.js:4599:16
    at A:\executeapp\ppm-backend\node_modules\mongoose\lib\query.js:4351:12
    at process.nextTick (A:\executeapp\ppm-backend\node_modules\mongoose\lib\query.js:2849:28)
    at process._tickCallback (internal/process/next_tick.js:61:11)
Emitted 'error' event at:

错误发生在代码块中

代码语言:javascript
复制
     pdf
    .fontSize(12)
    .text("Employee Role", {
        width: 100,
        height: 50,
        align: 'right'
    }
    );

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

请帮我解决这个错误,谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-07-23 05:03:33

遇到了同样的问题。对我来说,问题是你必须添加至少一个页面,否则它会抛出这个错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59047521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档