web-dev-qa-db-fra.com

jsPDF AutoTable - autoTable n'est pas une fonction

J'utilise JSPdf sur une application Angular et j'essaie d'utiliser le plug-in JS autotable, mais je rencontre l'erreur JS.

EXCEPTION: Non capturé (promis): TypeError: doc.autoTable n'est pas une fonction

TypeError: doc.autoTable n'est pas une fonction

J'ai jspdf et jspdf-autotable installés via npm, j'ai confirmé leur présence dans les modules de nœud.

J'ai importé les deux plugins de cette façon:

import * as jsPDF from 'jspdf' 
import * as autoTable from 'jspdf-autotable'

et voici mon code:

private renderPdf():void{
    let testcolumns = ["TestCol1", "TestCol2"];
    let testrows = [["test item 1", "test item 2"]];
    let doc = new jsPDF();
    doc.autoTable(testcolumns, testrows);
    doc.save('sample.pdf');
}

Y a-t-il quelque chose qui pourrait me manquer ici ou plus de code que je pourrais fournir pour aider à résoudre le problème?

Merci!

5
Stu Furlong

Supprimez simplement les 2 premières lignes des importations et ajoutez les lignes suivantes:

var jsPDF = require('jspdf');
require('jspdf-autotable');

Vous pouvez voir un exemple ici

11
Jorge Casariego

j'ai eu le même problème aujourd'hui en utilisant https://github.com/SimulatedGREG/electron-vue . je l'ai résolu en ajoutant 'jspdf' et 'jspdf-autotable' au tableau de liste blanche dans path-to-project/.vscode

let whiteListedModules = [
  'vue',
  'vue-sweetalert2',
  'element-ui',
  'vue-avatar-component',
  'vue-router', 
  'vue-json-Excel',
  'vuex',
  'vue-chart-js',
  'pluralize',   
  'Print',
  'jspdf',
  "jspdf-autotable"
]
0
Mazino S Ukah