尝试在嵌入中更改加载的 PDF 时出现问题

时间:2021-03-26 17:40:18

标签: adobe-embed-api

我使用的是 Adob​​e PDF Embed API,可以在用户选择后成功显示 PDF。当我的应用程序启动时,我会初始化一个 DC View 对象:

let dcView = new AdobeDC.View({
    clientId: ADOBE_KEY, 
    divId: div
});

在用户拖动文件后,我使用文件阅读器向其抛出承诺:

let reader = new FileReader();
let name = this.pdfFile.name;
      
reader.onloadend = function(e) {
    let filePromise = Promise.resolve(e.target.result);
    dcView.previewFile({
        content: { promise: filePromise }, 
        metaData: { fileName: name }
    });

};
reader.readAsArrayBuffer(this.pdfFile);

这非常有效......一次。如果我再次拖动文件,当它到达渲染部分时,只会更改嵌入顶部的文件名,而不是实际渲染的内容。

1 个答案:

答案 0 :(得分:2)

您需要在加载新文档之前重新创建 Adob​​eDC.View 对象。我猜这是因为如果一个操作需要一段时间来解决,比如加载注释或执行搜索,可能会有未解决的承诺。您的新代码可能如下所示...

Shop & stop 
23452