pdfMake метод создания Аргументы недействительны - PullRequest
0 голосов
/ 16 января 2019

Я успешно генерировал pdf с помощью pdfmake. Теперь я получаю эту ошибку, и я не уверен, что изменилось. Даже простые примеры дают ошибки.

const docDefinition = {
    content: [
        {
            layout: 'lightHorizontalLines', // optional
            table: {
            // headers are automatically repeated if the table spans over multiple pages
            // you can declare how many rows should be treated as headers
            headerRows: 1,
            widths: ['*', 'auto', 100, '*'],

            body: [
                ['First', 'Second', 'Third', 'The last one'],
                ['Value 1', 'Value 2', 'Value 3', 'Value 4'],
                [{ text: 'Bold value', bold: true }, 'Val 2', 'Val 3', 'Val 4']
                      ]
                    }
                  }
                ]
              };

 const pdfDocGenerator = pdfMake.createPdf(docDefinition);

Результат:

//Argument type {content: {layout: string, table: {headerRows: number, 
widths: (string | number)[], body: (string[] | ({text: string, bold: 
boolean} | string)[])[]}}[]} is not assignable to parameter type 
TDocumentDefinitions 

Однако, если я использую:

const docDefinition = {
    content: 'Hello World'
};

const pdfDocGenerator = pdfMake.createPdf(docDefinition);

Кажется, все хорошо. Я не совсем понимаю, как работает какой-либо из примеров на игровой площадке. Любые предложения приветствуются!

1 Ответ

0 голосов
/ 16 января 2019

По причинам, которые я не могу объяснить, изменение моего импорта для решения этой проблемы решило мою проблему.

const pdfMake = require('pdfmake/build/pdfmake');
const pdfFonts = require('pdfmake/build/vfs_fonts');

Я включаю pdfMake.vfs = pdfFonts.pdfMake.vfs; внизу своей страницы, когда я на самом деле создаю PDF.

...