如何解决自v3.5.13jsPDF v2.1.1起,无法使用jsPDF-AutoTable是一项功能
当我使用旧版本的库时,可以很好地创建pdf。但是由于这些新版本,我不能。之前我刚刚下载了jspdf.min.js文件,但现在我可以看到各种版本,例如umd,es。。但是我不知道要使用什么(?),所以我下载了 umd 版本。
我不使用angular或node.js,因此在创建pdf之前,无法在我的javascript代码中使用require
或import
(在导入时出现错误:Uncaught SyntaxError: export declarations may only appear at top level of a module
)指令文件。因此,我使用const { jsPDF } = window.jspdf;
来使用jsPDF类(在第const doc = new jsPDF();
行之后,我收到错误“未捕获的ReferenceError:未定义jsPDF”)。
但是我也想使用插件AutoTable,并且在插件https://github.com/simonbengtsson/jsPDF-AutoTable的官方页面中,作者使用import或require,对我来说这是行不通的。当我尝试
const { jsPDF } = window.jspdf;
const doc= new jsPDF();
doc.autoTable({
head: [['Name','Email','Country']],body: [
['David','david@example.com','Sweden'],['Castille','castille@example.com','Spain'],],})
我收到错误Uncaught TypeError: pdf.autoTable is not a function
。我怎样才能正确使用这些库?
我想jsPDF适用于 umd 和const { jsPDF } = window.jspdf;
版本(我只创建了一个带有字符串的简单文档,它起作用了),但是AutoTable不起作用
解决方法
导出autoTable方法,从'jspdf-autotable'导入autoTable
function createPdf() {
var doc = new jsPDF();
const head = [['ID','Country','Index','Capital']]
const data = [
[1,'Finland',7.632,'Helsinki'],[2,'Norway',7.594,'Oslo'],[3,'Denmark',7.555,'Copenhagen'],[4,'Iceland',7.495,'Reykjavík'],[5,'Switzerland',7.487,'Bern'],[9,'Sweden',7.314,'Stockholm'],[73,'Belarus',5.483,'Minsk'],]
autoTable(doc,{
head: head,body: data,didDrawCell: (data) => {
console.log(data.column.index)
},})
doc.save('repro.pdf');
}
,
唯一适用于我的解决方案是将jsPDF和AutoTable的代码保存在同一文件中。我知道这不是一个好主意,我想将它们放在单独的文件中,但是我还没有找到其他方法。任何人都可以说出一种更好的方法来避免错误,那太好了
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。