我正在尝试使用jspdf
库打印我的页面。我已经尝试了许多解决方案,遵循此处的示例和几乎每个谷歌建议链接,但我仍然无法解决它。
到目前为止,我已经尝试了以下方法:
import * as jsPDF from 'jspdf';
.....
openPDF(): void {
const DATA = this.couponPage.nativeElement;
const doc = new jsPDF('p', 'pt', 'a4');
doc.fromHTML(DATA.innerHTML, 15, 15);
doc.output('dataurlnewwindow');
}
尝试像上面那样导入
jsPDF
会在编译时产生以下错误。
ERROR in src/...component.ts:42:21 - error TS2351: This expression is not constructable. Type 'typeof import("jspdf")' has no construct signatures.
42 const doc = new jsPDF('p', 'pt', 'a4');
因此,我尝试了另一种方式导入它,正如这个stackoverflow答案中建议的那样。
declare var jsPDF: any;
然而,这样会创建一个控制台错误,说jsPDF
未定义。
然后我发现另一种解决方案,如此发帖 Angular 10/9/8 PDF教程-使用JSPDF在Angular中导出PDF
按照这种方法,现在我得到了以下错误:
ERROR TypeError:doc.fromHTML不是函数 openPDF notice.component.ts:43 ...Component_Template_button_click_2_listener ...component.html:3 Angular 23
我不知道我错过了什么,因为这个库应该在所有Angular版本中都能工作。任何帮助将不胜感激。
在这里,我创建了一个 Stackblitz项目
jsPDF
:https://stackblitz.com/edit/jspdf-fpmqwp - ruth"./node_modules/jspdf/dist/jspdf.min.js"
?否则declare var...
将不会成功。 - CharybdeBEangular.json
中包含了。 - Kirubeldoc.fromHTML不是一个函数
。 - Kirubel