我见过很多主题,但没有一个解决方案有效。
我的应用程序使用PHP创建PDF文件,然后检索JS的路径。之后我创建了一个Iframe并告诉浏览器打印它。
以下代码仅适用于Chrome,但我的POS打印机存在chrome(已记录)的问题,会产生大量纸张。因此解决方案是使用另一个浏览器...所以我的猜测是使用Firefox。
$('#pdf-iframe').attr('src', json.pathToPdf).after(function()
{
setTimeout(function()
{
document.getElementById('pdf-iframe').contentWindow.focus();
document.getElementById('pdf-iframe').contentWindow.print();
}, 300);
});
在谷歌浏览器中打开PDF预览版,在Firefox中我收到以下错误:
SecurityError:拒绝访问跨源对象
上的属性“print”的权限
到目前为止我没有成功的尝试:
window.frames["pdf-iframe"].focus();
window.frames["pdf-iframe"].print();
pdfjs.disabled
security.fileuri.strict_origin_policy
设为FALSE base64_encode
,然后使用<iframe src="data:application/pdf;base64,my_binary_data"
header("Access-Control-Allow-Origin: *");
sitename.com/app/files
中执行,文件路径为sitename.com/public/pdf-files/mypdf.pdf
header()
和readfile()
函数直接读取文件