我想在angular 2中打印HTML模板。我已经对此进行了探索,我在angularjs 1 Print Html Template in Angularjs 1 中得到了解决方案。

任何建议将不胜感激

最佳答案

这就是我在angular2中完成此操作的方式(它类似于经过简化的解决方案)在您的HTML文件中:

<div id="print-section">
  // your html stuff that you want to print
</div>
<button (click)="print()">print</button>

并在您的TS文件中:
print(): void {
    let printContents, popupWin;
    printContents = document.getElementById('print-section').innerHTML;
    popupWin = window.open('', '_blank', 'top=0,left=0,height=100%,width=auto');
    popupWin.document.open();
    popupWin.document.write(`
      <html>
        <head>
          <title>Print tab</title>
          <style>
          //........Customized style.......
          </style>
        </head>
    <body onload="window.print();window.close()">${printContents}</body>
      </html>`
    );
    popupWin.document.close();
}

更新:

您也可以缩短路径,仅使用ngx-print库来减少不一致的编码(混合JS和TS)和更多现成的可控制和安全的打印盒。

关于javascript - 在Angular 2中打印HTML模板(在Angular 2中使用ng-print),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41379274/

10-12 15:15