如何从Dart /聚合物网络应用程序打印网页

时间:2015-06-27 14:17:05

标签: dart polymer dart-polymer printing-web-page

我正在尝试在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做点什么吗?

由于

干杯,史蒂夫

1 个答案:

答案 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