0

我正在使用html2pdf.js

我应该在我的客户下载文件之前显示预览。

' dataurlnewwindow ' 的方式可以显示预览,但下载按钮不起作用

所以我改变了 bloburl输出,并且下载按钮正在工作。

但是当我点击下载时,我想设置下载文件名

如下所示,我无法设置下载文件名。 在此处输入图像描述

有谁知道处理吗?

这是我使用的 html2pdf.js 代码。

const opt = { margin: 10, filename, html2canvas: { width: 800, useCORS: true } };
html2pdf().set(opt).from(html).output('bloburl').then(r => { window.open(r) })

即使你们知道支持预览和下载名称,请告诉我。我需要帮助

4

1 回答 1

1

您应该尝试在属性中的<a>标记处设置文件名。download

html2pdf().from(html)
          .set(opt)
          .toPdf()
          .get('pdf')
          .then((pdf) => downloadPdf(pdf, options));

const downloadPdf = (pdf, opt) => {
    let link = document.createElement('a');
    link.target = '_blank';
    link.href = pdf.output('bloburl');
    link.download = 'myFileName.pdf';
    link.click();
    link.remove();
}

这将在新标签页中打开 PDF,因为并在标签元素事件target=_blank之后立即下载它。click()<a>

于 2021-04-30T20:05:54.707 回答