Javascript 在“新建”选项卡中创建并打开PDF

Javascript 在“新建”选项卡中创建并打开PDF,javascript,angular,jspdf,html2canvas,Javascript,Angular,Jspdf,Html2canvas,在我的应用程序中,我得到了一个使用html2canvas和jsPDF创建pdf的按钮。 我希望新下载的pdf能在新标签中打开。我不知道如何打开新下载的文件 这可能吗 这是我的代码。 print() { const fileName = String(new Date().valueOf()); const element: HTMLElement = document.querySelector('.print-area'); const regi

在我的应用程序中,我得到了一个使用html2canvas和jsPDF创建pdf的按钮。 我希望新下载的pdf能在新标签中打开。我不知道如何打开新下载的文件

这可能吗

这是我的代码。

print() {
        const fileName = String(new Date().valueOf());
        const element: HTMLElement = document.querySelector('.print-area');
        const regionCanvas = element.getBoundingClientRect();
        html2canvas(element, { scale: 3 }).then(async canvas => {
            const pdf = new jsPDF('p', 'mm', 'a4');
            pdf.addImage(canvas.toDataURL('image/png'), 'PNG', 3, 0, 205, (205 / regionCanvas.width) * regionCanvas.height);
            await pdf.save(fileName, { returnPromise: true });

            const a = document.createElement('a');
            a.href = fileName;
            // this points to non existing file
            document.body.appendChild(a);
        });
    }

我找到了下载并打开文件的方法。 您基本上需要调用两个函数:

pdf.save(fileName);
window.open(pdf.output('bloburl', { filename: fileName }), '_blank');
最后的代码如下所示:

print() {
        const fileName = String(new Date().valueOf());
        const element: HTMLElement = document.querySelector('.print-area');
        const regionCanvas = element.getBoundingClientRect();
        html2canvas(element, { scale: 3 }).then(async canvas => {
            const pdf = new jsPDF('p', 'mm', 'a4');
            pdf.addImage(canvas.toDataURL('image/png'), 'PNG', 3, 0, 205, (205 / regionCanvas.width) * regionCanvas.height);
            await pdf.save(fileName, { returnPromise: true });
            window.open(pdf.output('bloburl', { filename: fileName }), '_blank');
        });
    }