本文介绍了从Blob角度打印pdf文件时出现问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个API,它以

格式返回数据
{ fileName: string, blob: Blob }[]

我想打印所有这些文件,所以我使用

_files.forEach((_fileInfo) => {
      const blobUrl = URL.createObjectURL(_fileInfo.blob);
      const oWindow = window.open(blobUrl, "print");
      oWindow.print();
      oWindow.close();
});

这将打开多个打印窗口,但在预览中显示空白文档。

但是,当我以zip格式下载所有这些文件时,它会下载正确的PDF文件。

// add files to zip
files.forEach((_fileInfo) => {
    zip.file(_fileInfo.fileName, _fileInfo.blob);
});

// download and save
return zip.generateAsync({ type: "blob" }).then((content) => {
    if (content) {
        return saveAs(content, name);
    }
});
  1. 可能有什么问题,

  2. 是否可以在不打开多个窗口的情况下按顺序打印所有文档?

推荐答案

加载文件需要时间,这就是它显示空白文档的原因,所以我使用print-js来解决此问题。

如何导入

import * as printJS from "print-js";

如何使用

const blobUrl = URL.createObjectURL(_fileInfo.blob);
printJS(blobUrl);

这篇关于从Blob角度打印pdf文件时出现问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-22 16:06