В моем угловом приложении у меня есть компонент, в котором в шаблоне у меня есть ссылка на печать, по нажатию которой я должен включить функцию печати. Я пытаюсь что-то подобное в моем HTML-

<div>
<a href="#" (click)="print()">PRINT</a>
</div>

И в .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();
}

Это работает, но открывает новое окно для печати. В любом случае, я могу иметь это в том же окне. Я также пытался

<a href="javascript:window.print();">Print</a>

Но оба вышеуказанных подхода не работают. Любая идея, как я могу напечатать мою страницу в angular2.

1
techie questie 25 Апр 2017 в 09:49

2 ответа

Лучший ответ

Это отлично работает Мы сможем напечатать конкретный компонент. Однако нам нужно добавить стили внутри тега в функцию document.write.

0
techie_questie 23 Май 2017 в 09:04

Используйте onclick для вызова print ().

Попробуйте это <a href="#" onclick="print();">Print</a>

0
Pooja K. 25 Апр 2017 в 07:16
43603572