我正在尝试在Dart +聚合物网络应用中打印“我看到的内容”。我在打印预览(Windows)中得到一个空白页面。标题就在那里,我已经使用CSS删除了(因此对我的CSS有一点反应!它并没有完全死掉)。
我尝试过单独的打印样式表进行打印。我也尝试将以下内容添加到我的主要css中:
@media print {
body {
font: 12pt Georgia, "Times New Roman", Times, Serif;
color: #222222;
line-height: 1.3;
}
header, footer{
display: none;
}
@page{
margin: 0.5cm;
}
}
并分离出@media屏幕{}
我有聚合物按钮等,并且使用代码动态添加了许多元素(表,列表,画布......),以及聚合物模板+数据绑定。我知道我只需要更改需要的项目,以覆盖现有的样式。
那么,是否可以简单地添加一些CSS来打印?我必须用影子dom做点什么吗?
由于
干杯,史蒂夫
答案 0 :(得分:0)
我为此奋斗了几个小时,直到想到: -将要打印的内容复制到新窗口并打印该窗口。
现在有点棘手,因为样式会丢失。 (但基本上,这是最好的出路。
代码示例:
var prnWnd = window.open();
prnWnd.document.title = "Title of Printed Page"; //in case you print "headers"
$(document.querySelector('#head').cloneNode(true).innerHTML).appendTo(prnWnd.document.head);
$('<link rel="stylesheet" href="'+location.origin+location.pathname+'includepathtoextra.css">').appendTo(prnWnd.document.head);
$(document.querySelector('#contentToPrint')).appendTo(prnWnd.document.body);
prnWnd.print(); // bring up the print dialog
prnWnd.close(); // close the print view once the print dialog is disposed