Я хочу экспортировать шаблон HTML в PDF, и я пытаюсь использовать jsPDF lib с angular, но я получил эту ошибку doc.fromHTML не является функцией.
import { Component, ViewChild, ElementRef } from '@angular/core';
import * as jsPDF from 'jspdf';
// declare var jsPDF: any;
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'exports-pdf';
@ViewChild('exports') exports: ElementRef;
public print(): void {
const doc = new jsPDF('p', 'pt', 'letter');
const content = this.exports.nativeElement;
const margins = {
top: 80,
bottom: 60,
left: 40,
width: 522
};
console.log(doc);
setTimeout(() => {
doc.fromHTML(content.innerHTML, margins.left, margins.top, {}, function() {
doc.output('export.pdf');
}, margins);
}, 100);
}
}
Я тоже пытался использовать import * as jsPDF from 'jspdf'; or declare var jsPDF: any;
когда я использую declare var jsPDF: any
, у меня в консоли есть все свойства jsPDF, но ничего не происходит, когда я нажимаю на кнопку.Когда я использую import * as jsPDF from 'jspdf'
, у меня есть объект без каких-либо свойств, таких как это изображение:
В angular.json я помещаю в сценарии импорт
"scripts": [
"./node_modules/jspdf/dist/jspdf.min.js",
"./node_modules/jspdf/dist/jspdf.debug.js"
]
и ошибка продолжается.
Я нашел других парней с такой же ошибкой, но без решения.Я не знаю, является ли это ошибкой lib или не работает ли она с angular.
Я загрузил код в GitHub .