vue实现pdf打印预览
**前言:**前端调用后端接口,返回给前端的是文件流,而不直接是路径,这时前端需把文件流转成路径,再使用window.open()方法,打开pdf实现预览打印
代码如下:
注:res是后端返回的文件流
if (window.navigator.msSaveBlob) { // IE
//IE无法打开Blob URL链接,所以不能预览只能通过window.navigator.msSaveBlob下载
//注:msSaveBlob的第二个参数要有.pdf后缀,不然IE下载后是没有后缀的文件
const blob = new window.Blob([res], { type: 'application/pdf;charset-UTF-8' });
window.navigator.msSaveBlob(blob, `${filename}.pdf`);
} else {
const blob = new window.Blob([res], {
type: 'application/pdf;charset-UTF-8',
});
const href = URL.createObjectURL(blob);
window.open(href);
}