CEWP 打印按钮,带有用于打印 SharePoint 表单的代码

CEWP Print Button with Code to print SharePoint form?

本文关键字:打印 SharePoint 表单 代码 用于 按钮 CEWP      更新时间:2023-09-26

我目前有一个表单预览,它看起来完全符合我们希望它查找正在查看的列表项的方式,但问题是当我在 FOrm Display 中将我的打印按钮添加为 CEWP 时,它执行的功能与使用 Control P 完全相同并打印整个页面。请参阅代码。

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

我想添加它,让它只打印表单,而不打印窗口中当前视图的其他内容,并实际填写 8.5 x 11。

有什么想法吗?

受此 InfoPath 打印按钮的启发,一种解决方案是获取 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 字符的转义。

简单的打印功能:

<input id="printpagebutton" type="button" value="Print this page" onclick="printpage()"/>
<script type="text/javascript">
function printpage() {
    //Get the print button and put it into a variable
    var printButton = document.getElementById("printpagebutton");
    //Set the print button visibility to 'hidden' 
    printButton.style.visibility = 'hidden';
    //Print the page content
    window.print()
    //Set the print button to 'visible' again 
    //[Delete this line if you want it to stay hidden after printing]
    printButton.style.visibility = 'visible';
  }
 </script>