从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);
}
});
可能有什么问题,
是否可以在不打开多个窗口的情况下按顺序打印所有文档?
解决方案
加载文件需要时间,这就是它显示空白文档的原因,所以我使用print-js来解决此问题。
如何导入
import * as printJS from "print-js";
如何使用
const blobUrl = URL.createObjectURL(_fileInfo.blob);
printJS(blobUrl);
相关文章