首页 > 解决方案 > 如何始终以桌面视图格式导出 PDF?

问题描述

当我尝试导出 PDF 文件时,如果 Google Chrome 开发人员工具 (F12) 是桌面格式,我导出了正确的样式文件,一切正常。

但是,当我将视图更改为移动格式并尝试导出此页面的内容时,导出结果是一个完全没有样式的文件,带有巨大的字母。下面你可以看到我使用了addImage函数,我相信它会生成一个带有当前视图屏幕截图的文件。

我需要的?我需要的是,无论查看网站的格式如何,导出的文件始终是桌面格式。

任何想法?

generatePDF(page)
{
    let data = document.getElementById(page);
    let imgWidth = 210;

    html2canvas(data, {
        scale: 2,
        height: data.clientHeight,
        width: data.clientWidth,
        scrollX: 0,
        scrollY: -window.scrollY,
    }).then((canvas) => {

        const contentDataURL = canvas.toDataURL("image/png");
        let imgHeight = (canvas.height * imgWidth) / canvas.width;

        this.pdf.addImage(
            contentDataURL,
            "PNG",
            0,
            0,
            imgWidth,
            imgHeight,
            "",
            "FAST"
        );

        let file = new File([this.pdf.output("blob")], "SimplesNacional.pdf", {
            type: "application/pdf",
        });

        this.pdf.save(file);
        this.sendPDF(file);
    });
}

标签: angulartypescriptjspdfhtml2canvas

解决方案


推荐阅读