jsPDF AutoTable - autoTable不是一个函数

问题描述 投票:6回答:3

我在Angular应用程序上使用JSPdf,我正在尝试使用JS autotable插件,但我遇到了JS错误

EXCEPTION:未捕获(承诺):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');
}

我可以在这里找到什么或者我可以提供更多代码来帮助确定问题吗?

谢谢!

javascript angularjs pdf-generation jspdf jspdf-autotable
3个回答
12
投票

只需删除第2行导入并添加以下行:

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

你可以看到一个例子here


0
投票

我在使用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
投票

我遇到了同样的问题,这个问题对我有用。我把它写在导入中

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

在功能我声明它

const doc = new jsPDF();
© www.soinside.com 2019 - 2024. All rights reserved.