如何打印base64 pdf?

我从要打印的服务器收到base64 pdf。

我一直在尝试以下方面:

$.ajax({ type: "POST", url: url, data: blahblahblah, success: function(data) { var printWindow = window.open( "data:application/pdf;base64, " + data ); printWindow.print(); } }); 

遗憾的是,这在Chrome中无效。 我收到以下错误:

SecurityError:阻止具有原点“xxx”的帧访问具有原点“null”的帧。 请求访问的帧具有“http”协议,被访问的帧具有“数据”协议。 协议必须匹配。

关于如何解决这个问题的建议?

您可以尝试打开窗口并尝试将pdf数据作为嵌入插入。

这是我发现并使用的一段代码(我改为适合您的代码,但未经过测试):

  $.ajax({ type: "POST", url: url, data: blahblahblah, success: function(data) { var winparams = 'dependent=yes,locationbar=no,scrollbars=yes,menubar=yes,'+ 'resizable,screenX=50,screenY=50,width=850,height=1050'; var htmlPop = ''; var printWindow = window.open ("", "PDF", winparams); printWindow.document.write (htmlPop); printWindow.print(); } }); 

希望能帮助到你。