Autodesk Forge:加载 PDF 不会触发 onItemLoadSuccess
Autodesk Forge: Loading PDF does not trigger onItemLoadSuccess
我们有一个应用程序 运行ning 目前可以同时处理 3D 和 2D 文件,并且在加载 3D 文件和 DWG 时不会遇到任何问题。
但是当尝试加载 PDF 时,我的 "onItemLoadSuccess" 或 "onItemLoadFail" 都没有 运行
Autodesk.Viewing.Initializer(options, function onInitialized() {
// Select the container for the viewer
viewerApp = new Autodesk.Viewing.ViewingApplication(container);
// Load settings, i.e extension manager
viewerApp.registerViewer(viewerApp.k3D,
Autodesk.Viewing.Private.GuiViewer3D, { extensions: [ 'ExtensionManager'] });
// Select model to load defined by URN
viewerApp.loadDocument(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);
});
}
function onDocumentLoadSuccess(doc) {
var viewables = viewerApp.bubble.search({ 'type': 'geometry' });
if (viewables.length === 0) {
console.error('Document contains no viewables.');
return;
}
// Choose any of the avialble viewables
viewerApp.selectItem(viewables[0], onItemLoadSuccess, onItemLoadFail);
}
function onItemLoadSuccess(viewer, item) {
console.log('onItemLoadSuccess()!');
}
function onItemLoadFail(errorCode) {
console.error('onItemLoadFail() - errorCode:' + errorCode);
}
PDF 文件仍会打开和加载,所以我想知道是否有不同的方法来 运行 onItemLoadSuccess 函数,或者我们必须做一些不同的事情来确保我们的 PDF 也正确加载。
非常感谢任何帮助!
从 Viewer v6.3 开始,您可以直接使用 Autodesk.PDF
加载 PDF 并像处理其他模型一样将回调传递给 loadModel
:
Autodesk.Viewing.Initializer(options, function() {
viewer.start()
viewer.loadExtension('Autodesk.PDF').then(function() {
viewer.loadModel('/path/to/pdf', { page: 1 }, onLoadSuccess, onLoadFail);
});
});
在此处查看发行说明:https://forge.autodesk.com/blog/viewer-release-notes-v-63
(添加到 Bryan 的回答中...)
我写了一篇关于此的博客 post。查看演示和示例代码,以帮助回答有关 'onItemLoadSuccess / onItemLoadFail' 事件的问题。
博客:https://forge.autodesk.com/blog/fast-pdf-viewingmarkup-inside-forge-viewer
演示:https://wallabyway.github.io/offline-pdf-markup/
希望对您有所帮助!
我们有一个应用程序 运行ning 目前可以同时处理 3D 和 2D 文件,并且在加载 3D 文件和 DWG 时不会遇到任何问题。
但是当尝试加载 PDF 时,我的 "onItemLoadSuccess" 或 "onItemLoadFail" 都没有 运行
Autodesk.Viewing.Initializer(options, function onInitialized() {
// Select the container for the viewer
viewerApp = new Autodesk.Viewing.ViewingApplication(container);
// Load settings, i.e extension manager
viewerApp.registerViewer(viewerApp.k3D,
Autodesk.Viewing.Private.GuiViewer3D, { extensions: [ 'ExtensionManager'] });
// Select model to load defined by URN
viewerApp.loadDocument(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);
});
}
function onDocumentLoadSuccess(doc) {
var viewables = viewerApp.bubble.search({ 'type': 'geometry' });
if (viewables.length === 0) {
console.error('Document contains no viewables.');
return;
}
// Choose any of the avialble viewables
viewerApp.selectItem(viewables[0], onItemLoadSuccess, onItemLoadFail);
}
function onItemLoadSuccess(viewer, item) {
console.log('onItemLoadSuccess()!');
}
function onItemLoadFail(errorCode) {
console.error('onItemLoadFail() - errorCode:' + errorCode);
}
PDF 文件仍会打开和加载,所以我想知道是否有不同的方法来 运行 onItemLoadSuccess 函数,或者我们必须做一些不同的事情来确保我们的 PDF 也正确加载。
非常感谢任何帮助!
从 Viewer v6.3 开始,您可以直接使用 Autodesk.PDF
加载 PDF 并像处理其他模型一样将回调传递给 loadModel
:
Autodesk.Viewing.Initializer(options, function() {
viewer.start()
viewer.loadExtension('Autodesk.PDF').then(function() {
viewer.loadModel('/path/to/pdf', { page: 1 }, onLoadSuccess, onLoadFail);
});
});
在此处查看发行说明:https://forge.autodesk.com/blog/viewer-release-notes-v-63
(添加到 Bryan 的回答中...)
我写了一篇关于此的博客 post。查看演示和示例代码,以帮助回答有关 'onItemLoadSuccess / onItemLoadFail' 事件的问题。
博客:https://forge.autodesk.com/blog/fast-pdf-viewingmarkup-inside-forge-viewer
演示:https://wallabyway.github.io/offline-pdf-markup/
希望对您有所帮助!