我有 apryse webviewer(仅限客户端),并按照文档中的建议进行设置,其中我们仅使用 1 个 webviewer 实例,并调用
loadDocument
更改要预览的文件。
在 Edge 中加载 Excel 文档(大约 2-3mb)时,通过浏览器的任务管理器检查时内存增加至 3GB。
关闭模态框时,我们尝试调用
dispose
和closeDocument
,但是内存没有释放,任务管理器仍然显示3GB。一开始Chrome也有这个问题,但是把后端类型改为
asm
后就解决了。*Excel 文件包含具有无限列标题的工作表(单击行标题并更改填充颜色)
设置如下:
let webviewerInstance = null;
// on mounted, instantiate webviewer
WebViewer(
{
path: '../../../lib',
licenseKey: LICENSE_KEY,
backendType: "asm",
},
document.getElementById('viewer')
).then(instance => {
// store instance for later use
this.webviewerInstance = instance;
});
// on click button, fetch data and open modal containing webviewer UI
/** fetch goes here **/
...
let fileUint8Array = new Uint8Array(buffer);
let file = new Blob([fileUint8Array], { type: "application/octet-stream" });
this.webviewerInstance.UI.loadDocument(file, { filename: "sample", extension: "xlsx" });
fileUint8Array = null;
file = null;
// on click close modal containing webviewer UI
this.webViewerInstance.UI.dispose();
this.webViewerInstance.UI.closeDocument();
我们尝试了以下方法,但没有成功:
dispose
closeDocument
asm
ems
wasm
resetWorker(worker)
,希望之前的工人能够重置更新
具有无限列数的 Excel 文件似乎会导致内存激增。
尝试了类似的 2-3mb 的 excel 文件,没有无限列,它渲染得很好。
您使用的 WebViewer 版本是什么?您能在我们的查看器样本上重现这一点吗? https://docs.apryse.com/samples/web/samples/viewing/viewing/
能否提供一个测试文件?
最诚挚的问候, 达里安