gpt4 book ai didi

html - Angular Material - 如何将 CSS 样式传递给新窗口

转载 作者:行者123 更新时间:2023-11-28 02:01:53 26 4
gpt4 key购买 nike

我想创建自己的简单打印,我将 div 的 id 传递给函数并打印该 div。到目前为止,我已经能够通过 bootstrap 实现这一点。

print(): void{
var divToPrint = document.getElementById("table");

let printWindow = window.open("");
printWindow.document.write('<html><head><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"></head><body>');

printWindow.document.write(divToPrint.outerHTML);
printWindow.document.write('</body></html>');

setTimeout(function(){printWindow.print();printWindow.close();},100);
}

我从 CDN 加载 boostrap css。

但是,我想用 Angular Material 完成同样的事情。因此,在我的 Assets 文件夹中,我复制了我正在使用的主题 (pink-bluegrey.css) 并将链接更新为

href="assets/pink-bluegrey.css"

我的应用程序能够获取样式表,但仍然有问题。工作表应用不正确,或者我仍然缺少其他脚本/工作表。

From the app从应用程序

From the new print window从新的打印窗口

最佳答案

我已经决定是否需要打印 Angular Material 中当前显示的任何内容,我会将其转换为 bootstrap 并按照我在原始问题中的解释进行打印。

我查看了 jspdfhtml2canvas,但它们都不可靠并且没有按照文档工作。

我还添加了 Material Design Lite(cssjs),这样我就可以结合使用 material 和 bootstrap。

关于html - Angular Material - 如何将 CSS 样式传递给新窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49263840/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com