Экспортируйте контент в pdf угловой используя jspdf - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь создать PDF, используя jspdf.Однако я получаю сообщение об ошибке cannot create property 'header' on string 'Details'. Я прошел этот вопрос Как исправить: Не удалось создать свойство 'header' для строки , но не удалось найти решение. Пожалуйста, помогите. Спасибо заранее.Вот моя функция преобразования

convert() {

    var doc = new jsPDF();
    var col = ["Details", "Values"];
    var rows = [];

    /* The following array of object as response from the API req  */

    var itemNew = [
      { id: 'Case Number', name: '101111111' },
      { id: 'Patient Name', name: 'UAT DR' },
      { id: 'Hospital Name', name: 'Dr Abcd' }
    ];


    itemNew.forEach(element => {
      var temp = [element.id, element.name];
      rows.push(temp);

    });

    doc.autoTable(col, rows);
    doc.save('Test.pdf');
  }

StackBLitz: https://stackblitz.com/edit/angular-jspdf-xgoetc?file=app/app.component.ts

1 Ответ

0 голосов
/ 20 июня 2019

Проблема в функции autoTable(), где вы указываете head и body.

var col = [["Details", "Values"]];

изменить autoTable() как

 doc.autoTable({
        head: col,
        body: rows
    });

Обновлен фрагмент:

convert() {

    var doc = new jsPDF();
    var col = [["Details", "Values"]];
    var rows = [];

    /* The following array of object as response from the API req  */

    var itemNew = [
      { id: 'Case Number', name: '101111111' },
      { id: 'Patient Name', name: 'UAT DR' },
      { id: 'Hospital Name', name: 'Dr Abcd' }
    ];


    itemNew.forEach(element => {
      var temp = [element.id, element.name];
      rows.push(temp);

    });

    //doc.autoTable(col, rows);
    doc.autoTable({
        head: col,
        body: rows
    });
    doc.save('Test.pdf');
  }

Просмотр PDF (Test.pdf): PDF Preview

Для получения дополнительной информации см. jsPDF-AutoTable Doccumentation .

...