我目前有一个窗体的预览,它看起来与我们希望它如何查找要查看的列表项完全相同,但是问题是,当我在FOrm Display中将CEWP添加为“打印”按钮时,它执行与使用Control P完全相同的功能并打印整个页面。参见代码。

          <div style="text-align: center"><input onclick="window.print();return false;" type="button" value=" Print this page "/>&#160;</div>"


我想添加到它,使其仅打印表单,而没有其他内容显示在窗口中当前视图的外面,实际上是按11填充8.5。

有任何想法吗?

最佳答案

this InfoPath print button的启发,一种解决方案是获取CEWP的内容并创建一个仅包含这些内容的新窗口。

var patt = /**your CEWP ID here***/g;
var alldivs = document.getElementsByTagName('div');
var printpageHTML = '';
for(var i=0; i<alldivs.length; i++){
  if(patt.test(alldivs[i].id)){
    printpageHTML = '<HTML><HEAD>\n' +
      document.getElementsByTagName('HEAD')[0].innerHTML +
      '</HEAD>\n<BODY>\n' +
      alldivs[i].innerHTML.replace('inline-block','block') +
      '\n</BODY></HTML>';
    break;
  }
}
var printWindow = window.open('','printWindow');
printWindow.document.open();
printWindow.document.write(printpageHTML);
printWindow.document.close();
printWindow.print();
printWindow.close();


固定:删除了转义HTML字符。

10-06 09:25