You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Autodesk Forge查看器仅显示多页PDF第一页的问题咨询

Autodesk Forge查看器仅显示多页PDF第一页的问题咨询

嘿,我来帮你排查这个问题~你遇到的仅能看到PDF第一页的情况,大概率是因为Viewer默认没显示页面切换的导航控件,或者初始化时的设置没适配2D PDF文档,下面给你具体的解决办法:

1. 切换到2D专用查看器(更适配PDF)

你当前用的是Autodesk.Viewing.GuiViewer3D,它主要针对3D模型优化。对于PDF这类2D文档,换成Autodesk.Viewing.Viewer2D会更适配,它默认就会显示页面导航控件。修改代码里的初始化部分:

// 把原来的GuiViewer3D替换成Viewer2D
viewer = new Autodesk.Viewing.Viewer2D(htmlDiv);

2. 确保加载完整的PDF文档节点

在你的onDocumentLoadSuccess函数里,当前加载的是getDefaultGeometry(),有时候对于多页PDF,我们可以主动获取所有可加载的页面节点,确保完整加载文档:

function onDocumentLoadSuccess(viewerDocument) {
  // 获取PDF所有页面的几何节点
  var allViews = viewerDocument.getRoot().search({'type':'geometry'});
  if(allViews.length > 0){
    // 加载第一个页面,之后就能通过导航切换其他页面
    viewer.loadDocumentNode(viewerDocument, allViews[0]);
  }
}

3. (可选)如果坚持用3D查看器,手动启用2D导航控件

如果你因为其他需求必须使用GuiViewer3D,可以手动启用页面切换的UI控件,在Viewer初始化成功后加载对应扩展并切换2D模式:

// 在viewer.start()成功后添加这段代码
viewer.loadExtension('Autodesk.BasicNavigation').then(function(navExt) {
  // 启用2D导航模式,显示页面切换按钮
  navExt.setNavigationMode('2d');
});

完整修改后的代码示例

这里给你整合好的可运行代码参考,替换掉<Access_Token>和<DOC_URN>即可:

<head>
  <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=no" />
  <meta charset="utf-8">
  <link rel="stylesheet" href="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/style.min.css" type="text/css">
  <script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/viewer3D.min.js">
  </script>
  <style>
    body { margin: 0; }
    #forgeViewer { width: 100%; height: 100%; margin: 0; background-color: #F0F8FF; }
  </style>
</head>
<body>
  <div id="forgeViewer"></div>
</body>
<script>
  var viewer;
  var options = {
    env: 'AutodeskProduction2',
    api: 'streamingV2_EU',
    accessToken: '<Access_Token>'
  };

  Autodesk.Viewing.Initializer(options, function () {
    var htmlDiv = document.getElementById('forgeViewer');
    // 换成2D专用查看器适配PDF
    viewer = new Autodesk.Viewing.Viewer2D(htmlDiv);
    var startedCode = viewer.start();
    if (startedCode > 0) {
      console.error('Failed to create a Viewer: WebGL not supported.');
      return;
    }
    console.log('Initialization complete, loading a model next...');

    var documentId = 'urn:<DOC_URN>';
    Autodesk.Viewing.Document.load(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);
  });

  function onDocumentLoadSuccess(viewerDocument) {
    // 获取所有PDF页面节点
    var allViews = viewerDocument.getRoot().search({'type':'geometry'});
    if(allViews.length > 0){
      viewer.loadDocumentNode(viewerDocument, allViews[0]);
      // 加载成功后,顶部导航栏会自动出现页面切换控件
    }
  }

  function onDocumentLoadFailure() {
    console.error('Failed fetching Forge manifest');
  }
</script>

修改完成后,你就能在Viewer的顶部导航栏看到页面切换的按钮(上一页/下一页、页码选择器),顺利浏览多页PDF的所有内容啦。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 14:59:33