【问题标题】:Angular 8 Printing the HtmlAngular 8 打印 HTML
【发布时间】:2019-11-06 07:10:08
【问题描述】:

我有简单的 Angular 8 应用程序,我在我的 Angular 组件中打印一些 html 部分,这在开发构建中运行良好,但是如果我在生产构建中部署我的 Angular 应用程序,打印文档打开然后立即关闭,所以我无法查看、打印或保存我的文档。

我尝试了不同的打印方法,但情况很简单,在生产构建时它不起作用。

我正在使用的打字稿方法

    print(): void {
       let printContents, popupWin;
       printContents = document.getElementById('invoice').innerHTML;
       popupWin = window.open('', '_blank', 
       'top=0,left=0,height=100%,width=auto');
       popupWin.document.open();
       popupWin.document.write(`
      <html>
      <head>
          <title>${this.printTitle}</title>
          <style></style>
      </head>
      <body onload="window.print();window.close()">
        ${printContents}
      </body>
      </html>
     `);
    }

【问题讨论】:

  • 我认为这是由于您的网站设置造成的。在您的站点设置弹出窗口和重定向默认情况下被阻止。尝试启用并重试。
  • window.print();window.close() 我认为这是打开和关闭窗口的原因
  • @FarhatZaman 你说得对,我实际上搞砸了 chrome 设置,所以这就是它不显示弹出窗口的原因。

标签: angular angular8 production-environment


【解决方案1】:

也许你可以试试

print(): void {
    let printContents, popupWin;
    printContents = document.getElementById('invoice').innerHTML;
    popupWin = window.open('', 'my_print', 'top=0,left=0,height=100%,width=auto');
    popupWin.document.write(`
    <html>
    <head>
    <title>${this.printTitle}</title>
    <style></style>
    </head>
    <body>
    ${printContents}
    </body>
    </html>
    `);
    popupWin.print();
    popupWin.close();
}

【讨论】:

    猜你喜欢
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 2017-05-13
    • 2020-10-26
    相关资源
    最近更新 更多