在 Angular 2 / TypeScript 中使用数据输入的 pdfMake

Use pdfMake with data input in Angular 2 / TypeScript

本文关键字:数据 输入 pdfMake Angular TypeScript      更新时间:2023-09-26

我正在尝试从 Angular 2 项目中的数据输入创建 PDF。为此,我集成了pdfMake。创建静态PDF工作得很好,但是当我尝试打印出一些值时,它出错了。

请看一下这个 plunker: https://plnkr.co/edit/7tPFTAjKWwaRp1IbT0Tg?p=preview

我设法将一个对象放入我的 buildPdf 函数中,它被记录到控制台中。但是当我尝试将我的一个对象值添加到pdfMake docdefinition时,我收到错误消息:

原始异常:类型错误:无法读取未定义的属性"firstName"

var docDefinition = {
    content: [{
        text: 'My name is: ' + pdfContent.firstName  + ' ' + pdfContent.lastName + '.'
    }]
}

我试图通过在打字稿中重写我的buildPdf来排除打字问题.js它看起来像这样:

var buildPdf: (value: {firstName: string, lastName: string}) => any =
function(value: {firstName: string, lastName: string}): any {
    let docDefinition:any = {
        content: [{
            text: 'This is a test.'
        }]
    }
    console.log(value);
    return docDefinition;
}

不过,结果保持不变。

为什么我可以控制台.log对象,但无法访问其属性?我错过了什么?

似乎是由这条线引起的

buildPdf: any = new buildPdf();

我不明白你需要它做什么。它抛出是因为它访问传递的值,但此处没有传递任何值。

请参阅工作 Plunker 的 https://plnkr.co/edit/NPLHxVgC5LthA4g2WpUx?p=preview。