我正在使用html2pdf库将我的网页转换为pdf。但是,我不知道如何将pdf存储在变量中,以便可以将其发送回服务器。此代码将打印新的pdf,但不会将值存储到doc。
var doc = html2pdf(element, {return: true});
答案 0 :(得分:0)
var worker = html2pdf()
html2pdf()返回新的Worker对象。您可以使用称为输出的方法来获取数据。 参见:https://github.com/eKoopmans/html2pdf/blob/master/README.md
答案 1 :(得分:0)
浏览完文档和库的github page之后,我终于可以使用它了
let worker = await html2pdf().set(options).from(content).toPdf().output('blob').then( (data: Blob) => {
return data
})
完整代码是
...
import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';
import * as html2pdf from 'html2pdf.js'
...
@ViewChild('pdfForm', { static: false, read: ElementRef }) pdfForm: ElementRef;
...
async createCanvass() {
const content: Element = this.pdfForm.nativeElement
const options = {
filename: `invoice-#003.pdf`,
margin: [20,20],
image: {type: 'png', quality: 1 },
html2canvas: { dpi: 400, letterRendering: true },
jsPDF: { unit: 'mm', format: 'a4', orientation: 'landscape' }
}
return {options: options, content: content}
}
async printPDF() {
let { options, content } = await this.createCanvass()
let worker = html2pdf().set(options).from(content).toPdf().output('blob').then( (data: Blob) => {
return data
})
}
但是我应该提到我正在将Angular 8和TypeScript与该代码段一起使用,我认为Node.js和JavaScript的实现方式不会完全相同。