gpt4 book ai didi

Angular- jsPDF 警告、意外 token 和 jsPDF.fromHTML 不是函数

转载 作者:行者123 更新时间:2023-12-03 21:11:31 28 4
gpt4 key购买 nike

我想在 Angular 中打印带有 jsPDF 的 html 代码,但我不能。我需要帮助,看。
ts.config.app.json

{
"extends": "./tsconfig.base.json",
"compilerOptions": {
"outDir": "./out-tsc/app",
"types": [],
"allowSyntheticDefaultImports": true
},
"files": [
"src/main.ts",
"src/polyfills.ts"
],
"include": [
"src/**/*.d.ts"
]
}
npm jspdf 模块
enter image description here
angular.json 脚本
 "scripts": [
"node_modules/jquery/dist/jquery.js",
"node_modules/popper.js/dist/umd/popper.js",
"node_modules/bootstrap/dist/js/bootstrap.js",
"node_modules/jspdf/dist/jspdf.es.min.js"
]
如果在类里面我像这样导入 import jsPDF from 'jspdf';或像这样 import { jsPDF } from "jspdf";我收到此警告和此错误。
警告:
WARNING in ./node_modules/jspdf/dist/jspdf.umd.min.js 195:141-151
Critical dependency: the request of a dependency is an expression

WARNING in ./node_modules/jspdf/dist/jspdf.umd.min.js 195:240-254
Critical dependency: the request of a dependency is an expression
错误:
scripts.js:18390 Uncaught SyntaxError: Unexpected token 'export'
如果我像这样导入 jspdf import * as jsPDF from "jspdf";我收到此错误:
错误:
Type 'typeof import("jspdf")' has no construct signatures.
const doc = new jsPDF('p', 'pt', 'letter');
这是我的课:
//PDF
// import { jsPDF } from "jspdf";
import jsPDF from 'jspdf';
// import * as jsPDF from "jspdf";

@Component({
selector: 'app-cash-register',
templateUrl: './cash-register.component.html'
})
export class CashRegisterComponent implements OnInit {

@ViewChild("ticket") ticket: ElementRef;

public printPDF(): void {
var pdf = this.ticket.nativeElement.innerHTML;
const doc = new jsPDF('p', 'pt', 'letter');

const margins = {
top: 80,
bottom: 60,
left: 40,
width: 522
};

doc.html(pdf, {
callback: function(doc) {
doc.save("Test1.pdf");
}
})

// or

doc.fromHTML(pdf, margins.left, margins.top, {}, function () {

doc.save("Test2.pdf");
}, margins);
}
}
如果我没有在 angular.json 中导入 jspdf,我在尝试下载时会收到此错误:
core.js:4197 ERROR TypeError: doc.fromHTML is not a function

最佳答案

我没有一个好的解决方案,但这就是我让它工作的方式。看起来 jspdf 2.0.0 正在抛出“doc.fromHTML 不是函数”。在 Angular 10 中(我不确定它是否适用于以前的 Angular 版本。)
我删除了 jsdpf 2.0.0 使用

npm uninstall jspdf
然后我安装了以前的版本,即:
npm install jspdf@1.5.3
工作示例:
import * as jsPDF from 'jspdf';


var doc = new jsPDF('p', 'pt', 'letter');
var imgData =
'data:image/png;base64,addAnImageData';
var specialElementHandlers = {
'#idDiv': function (element, renderer) {
return true;
}
};
doc.addImage(imgData, 'png', 0, 250, 615, 200);
let source = document.getElementById("idDiv");
doc.fromHTML(source, 0, 0, {
'elementHandlers': specialElementHandlers
});
doc.save('card.pdf');

关于Angular- jsPDF 警告、意外 token 和 jsPDF.fromHTML 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63431310/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com