我目前正在研究pdftron的实现,并且在webviwer尝试加载文档时,似乎webviewer的加载速度不够快。您将如何设置某种ready元素,使其等到webViewer准备加载文档??
viewer = new PDFTron.WebViewer({
path: 'WebViewer',
type: 'html5',
documentType: 'pdf'
}, element);
$scope.watch('url', function(blobVal) {
viewer.loadDocument(blobVal);
}
我在viewer.loadDocument及其上得到了一个未定义,因为未完全加载查看器。它间歇性地发生。
答案 0 :(得分:1)
您要等待WebViever就绪事件。请参阅以下指南: https://www.pdftron.com/documentation/web/guides/fundamentals/webviewer#details-of-instantiation
var myWebViewer = new PDFTron.WebViewer({
initialDoc: 'mydoc.pdf',
ui: 'legacy'
}, viewerElement);
viewerElement.addEventListener('ready', function() {
// API functions are now ready to be called on myWebViewer
});
也请参见以下链接: https://www.pdftron.com/api/web/PDFTron.WebViewer.html#event:ready__anchor
答案 1 :(得分:0)
我相信以下代码更有意义
$scope.viewer = new PDFTron.WebViewer({
path: 'WebViewer',
type: 'html5',
documentType: 'pdf'
}, element);
$scope.$watch('viewer', function(newVal, oldVal) {
if (newVal instanceof Blob && newWal !== oldVal) {
viewer.loadDocument(newVal);
}
}
答案 2 :(得分:-1)
您可以使用javascript超时。
setTimeout(function(){
// You can write functions that will load after Angular elements.
},500);