angular - 如何始终以桌面视图格式导出 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);
});
}
解决方案
推荐阅读
- excel - 如何将所有未读邮件从默认收件箱复制到共享文件夹?
- excel - VBA Adodb:值的串联
- docker - 使用 pm2 在 docker 上部署 Nuxt SSR 有错误,
- javascript - Why am I unable to return an HTML element after awaiting a promise in React
- prolog - 如果获得不同的值,如何创建为真的谓词
- java - SpringBoot 公共匹配器
- html - 在 Laravel 上包含 webfont
- reactjs - Virtual DOM 是如何更新的?
- python - 带有 Docker 的 Python Virtualenv HTTP 服务器
- csv - 谷歌脚本从 ftp 或谷歌驱动器导入 csv