web-dev-qa-db-ja.com

jsPDF AutoTable-autoTableは関数ではありません

AngularアプリでJSPdfを使用しています。JS自動テーブルプラグインを使用しようとしていますが、JSエラーが発生しています

例外:キャッチされていません(約束されています):TypeError:doc.autoTableは関数ではありません

TypeError:doc.autoTableは関数ではありません

Npmを介してjspdfとjspdf-autotableをインストールしましたが、それらがノードモジュールにあることを確認しました。

私はこの方法で両方のプラグインをインポートしました:

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

そしてこれが私のコードです:

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');
}

ここに欠けている可能性があるものや、問題を特定するために提供できるコードが他にもありますか?

ありがとう!

7
Stu Furlong

インポートの最初の2行を削除し、次の行を追加します。

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

例を見ることができます ここ

13
Jorge Casariego

私は同じ問題を抱えていましたが、これは私のために働いています。私はそれをインポートで書いています

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

そして関数ではそれを次のように宣言しました

const doc = new jsPDF();
1
Anup Bangale

https://github.com/SimulatedGREG/electron-vue を使用しているときに、今日同じ問題が発生しました。 'jspdf'と 'jspdf-autotable'を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