gpt4 book ai didi

javascript - 带 PDFTron 的 Angular JS

转载 作者:行者123 更新时间:2023-11-30 14:24:46 25 4
gpt4 key购买 nike

我试图获取一个 blob 作为 URL,但我在这一行收到错误:

xhr.send()

错误消息是 angular.js:13920 Error: Failed to execute 'send on 'XMLHttpRequest': The object's state must be OPENED.

但在代码中我使用的是 xhr.open('GET', blobValue),如我的代码所示

                if(someBlobValue){
var viewerElement = $document[0].getElementById('viewer');
var myWebViewer = new PDFTron.WebViewer({
path: 'lib',
pdftronServer: 'https://demo.pdftron.com' // remove
}, viewerElement);

var xhr = new XMLHttpRequest;
xhr.responseType = 'blob';

xhr.onload = function() {
var recoveredBlob = xhr.response;

var reader = new FileReader;

reader.readAsDataURL(recoveredBlob);
};

xhr.open('GET', someBlobValue);
xhr.setRequestHeader('Content-type', 'application/pdf');
xhr.send(); //error here although its open?
//var file = new File([newValue], 'somefile.pdf');
myWebViewer.loadDocument(xhr.response, { filename: 'somefile.pdf'});

目前我有一个 blob 文件,但我正在尝试将它加载到 pdftron 库,不幸的是我似乎没有在 DOM 中找到 myWebViewer.getInstance().loadLocalFile 方法(它未定义).

感谢任何指点,因为这是第一次尝试在 angularjs 应用程序中使用 pdftron。

注意:这是在一个指令中。

最佳答案

您需要等待包含 WebViewer 的 DOM 元素触发 ready 事件,以便定义从 getInstance() 返回的 ReaderControl 实例。

例如:

$(viewerElement).on('ready', function() {
myWebViewer.getInstance().loadLocalFile(someBlobValue);
});

关于javascript - 带 PDFTron 的 Angular JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52122873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com