首页 > 解决方案 > 我正在尝试在新窗口中打开 pdf 文件并在打开窗口后打开打印对话框

问题描述

我正在尝试在新窗口中打开 pdf 文件并在打开窗口后打开打印对话框,但是打开打印对话框的 print() 方法被跨域阻止,因为控制台返回此错误 DOMException: Blocked a来源为“ http://localhost:4200 ”的框架访问跨域框架。我该如何解决这个问题?

  print() {
            var myWindow = window.open('https://mediasb.shiftinc.com/booking_pdfs/QALNHF.pdf', 'Booking', 'width=600,height=600');
       myWindow.print();
      myWindow.focus();
    }
<button (click)= "print()"> Print</button>

标签: javascriptangular

解决方案


以角度执行此操作:-

this.http.get('https://mediasb.shiftinc.com/booking_pdfs/QALNHF.pdf', {responseType: 'blob'}).subscribe((res) => {
        let url = window.URL.createObjectURL(res);
        var myWindow = window.open(url, 'Booking', 'width=600,height=600');
       myWindow.print();
      myWindow.focus();
});

推荐阅读