如何在特定页面上打开 Forge Viewer 上的 PDF 文件?

How to open on a specific page a PDF File on Forge Viewer?

我需要在查看器 select 特定页面上打开来自 BIM 360 Docs 的 PDF 文件。我目前正在查看器上打开 PDF,但我不知道如何 select 一页。

我假设您正在使用 PDF 扩展程序直接加载和查看 PDF。如果是这样,您可以在 loadModel 调用中告诉它页码。例如:

viewer.loadModel( pdf, {page:2});

这是整个函数:

function initializeViewer( pdf ) {
   var options = {
        env: "Local",
        useADP: false
   }
   Autodesk.Viewing.Initializer(options, () => {
      viewer = new Autodesk.Viewing.Private.GuiViewer3D(document.getElementById('viewer3D'));
      viewer.setTheme("light-theme");
      viewer.start();
      if (!pdf) return;
      viewer.loadExtension('Autodesk.PDF').then( () => {
            viewer.loadModel( pdf, {page:2});
      });
    });
};

文档在这里提到了这一点: https://forge.autodesk.com/en/docs/viewer/v7/reference/Extensions/PDFExtension/ 还有一个我用来从博客 post 测试的例子: https://forge.autodesk.com/blog/fast-pdf-viewingmarkup-inside-forge-viewer

希望对您有所帮助

添加到我的评论中,您可以在使用 onDocumentLoadSucces 回调时获得所有可用可视项的列表。此回调在初始化查看器并将第一个 Urn(model) 加载到查看器后触发。您可以在 documentation

中查看气泡节点的更多功能

angular/typescript中的示例:

private onDocumentLoadSucces(viewerDocument: Autodesk.Viewing.Document) {
    // Default viewable
    let defaultModel = viewerDocument.getRoot().getDefaultGeometry();
    // list of all viewables in this model
    this.viewables = viewerDocument.getRoot().search({'type':'geometry'});
    // We load in the default viewable here but we could choose to load any viewable
    // in this.viewables
    this.viewer.loadDocumentNode(viewerDocument, defaultModel);
    console.log('model changed');
  }