按 Ctrl + P 时防止显示打印对话框

Prevent print dialog from showing when pressing Ctrl + P

我有一个 angular 应用程序,但我不想在按下“Ctrl + P”时打开 printDialog。 我添加了以下代码

 window.onbeforeprint = (event) => {
      event.stopPropagation();
      console.log('Before print');
    };

我可以在控制台中看到我的日志,但显示 window。 我想做的是使用 html2canvas 和 jsPDF 来筛选我的应用程序,而不是使用 window print.

我怎样才能做到这一点?

你也许可以使用这个:

  @HostListener('window:keydown.control.p', ['$event'])
  preventPrint(event: KeyboardEvent) {
    event.preventDefault();
  }

仅当有问题的组件出现在屏幕上时才会发生打印阻止。如果你想让你的整个应用程序阻止打印,那么你可以把它放在你的根应用程序组件上。