Angular 8,使用jspdf和autotable-jspdf导入/使用问题

问题描述 投票:0回答:2

Angular 8-JSPDF和JSPDF-AutoTable

我需要在html中以一个网格导出/生成一个pdf表格,但是必须使用CSS进行一些DOM更改,删除一些切换按钮并更改标题等,并且我发现所有解决方案都在打印中有一些变化,例如简单的window.print ()。我也尝试了pdfmake-wrapper和ngx-export-as,但是它们没有autoTable的魔力...最后一个dom更改被忽略,除非我使用Renderer2 DOM操作... 但是我需要一个具有CSS类更改注入且没有轻弹的解决方案,所以我得到了JSPDF。

我通过npm安装了jspdf和jspdf-autotable软件包。

"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");

但是现在,当我运行node命令以启动应用程序,然后在调试期间,出现以下错误:

a-类型'jsPDF'上不存在属性'autoTable'。

b-错误TS2339:'typeof jsPDF'类型不存在属性'default'。

任何想法?

angular typescript jspdf jspdf-autotable
2个回答
0
投票

我认为您想要做的是做类似的事情:


0
投票

使用此示例

© www.soinside.com 2019 - 2024. All rights reserved.