Javascript 不使用iframe技巧打印pdf文件

Javascript 不使用iframe技巧打印pdf文件,javascript,Javascript,我正在尝试从URL打印pdf文件 到目前为止我所做的: fetch( "https://media.readthedocs.org/pdf/flask-cors/latest/flask-cors.pdf" ) .然后(功能(响应){ 返回response.blob(); }) 。然后((数据)=>{ const localPdf=window.URL.createObjectURL(数据); const printFrame=document.getElementById(“pdf”); se

我正在尝试从URL打印pdf文件

到目前为止我所做的:

fetch(
"https://media.readthedocs.org/pdf/flask-cors/latest/flask-cors.pdf"
)
.然后(功能(响应){
返回response.blob();
})
。然后((数据)=>{
const localPdf=window.URL.createObjectURL(数据);
const printFrame=document.getElementById(“pdf”);
setAttribute(“src”,localPdf);
printFrame.onload=()=>{
printFrame.focus();
printFrame.contentWindow.print();
};
});

它毫无问题地工作但是在chrome浏览器中,
chrome://settings/content/pdfDocuments

下载PDF文件而不是在Chrome中自动打开它们时,我收到以下错误:

SecurityError:阻止了具有原点的帧”https://localhost:44310“从访问跨原点帧开始。

即使文件位于同一来源,我也会遇到此错误


我没有找到任何解决办法。还有其他打印文件的方法吗?

如果chrome浏览器的设置本来可以正常工作,为什么要更改它?@KenLee我们无法告诉客户不要更改浏览器设置。@morteza您试过吗@adzo261 printJS repo上有一个关于这个问题的公开问题,如果chrome最初可以正常工作,为什么要更改它的设置?@KenLee我们不能告诉我们的客户不要更改浏览器设置。@morteza你试过这个吗@adzo261关于这个问题,printJS repo上有一个悬而未决的问题