Угловой 8 - JSPDF & JSPDF-AutoTable
Мне нужно экспортировать / сгенерировать одну pdf-базу на одну сетку в html, но необходимо внести некоторые изменения в DOM с помощью css, убрать некоторую кнопку переключенияи изменить заголовок и т. д., и во всех найденных мной решениях есть несколько щелчков, например, простой window.print ().Я пробовал также pdfmake-wrapper и ngx-export-as, но у них нет волшебства autoTable ... и последнее, что изменяются dom, игнорируется, за исключением случаев, когда я использую манипуляцию Renderer2 DOM ... , ноМне нужно решение с внесением изменений в класс CSS и отсутствием щелчка, поэтому я возвращаю JSPDF.
Я установил jspdf и jspdf-autotable пакеты с помощью npm.
"dependencies": {
...
"jspdf": "^1.5.3",
"jspdf-autotable": "^3.2.4",
...
}
В файл angular-cli.json я включил сценарии:
"scripts": [
"../node_modules/jspdf/dist/jspdf.min.js",
"../node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.js"
],
В мой файл component.ts я импортировал эти файлы следующим образом:
import * as jsPDF from 'jspdf';
import * as autoTable from 'jspdf-autotable';
Я также пробовал эти строки для импорта jspdf-autotable
import * as jsPDF from 'jspdf';
import 'jspdf-autotable';
Я также пробовал другую комбинацию.
import jsPDF = require('jspdf');
import { autoTable as AutoTable } from 'jspdf-autotable';
Но ничего не работает.
// В моем файле component.ts я использую следующий пример кода:
let columns = ["ID", "Name", "Age", "City"];
var data = [
[1, "Jonatan", 25, "Gothenburg"],
[2, "Simon", 23, "Gothenburg"],
[3, "Hanna", 21, "Stockholm"]
];
const doc = new jsPDF(); // or let doc = new jsPDF.default();
doc.autoTable(columns, data);
doc.save("filename");
Но теперь, когда я запускаю команду узла, чтобы запустить приложение, затем во время отладки,Я получаю сообщения об ошибках:
a - Свойство 'autoTable' не существует для типа 'jsPDF'.
b - Ошибка TS2339: Свойство 'default' не существует для типа 'typeofjsPDF '.
Есть идеи?