首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >自动办公桌伪造查看器PDF快照和缩放问题

自动办公桌伪造查看器PDF快照和缩放问题
EN

Stack Overflow用户
提问于 2021-12-08 16:27:09
回答 1查看 109关注 0票数 1

当使用伪造查看器的PDF,它有可能启用快照功能的测量(相同的时候,观看模型)。此外,缩放级别是否可以更改,即我们希望放大比默认的最大值更近?

这两种情况在BIM360中都是可能的,所以我希望在我们的应用程序中也是可能的,请您告诉我。

目前我们使用的是v7查看器。我们还添加了snap扩展和setZoomInLimitFactor方法。但我们仍然无法获得抓取功能和放大功能的PDF文件。

代码语言:javascript
运行
复制
function launchViewer(urn, viewableId) {
        var options = {
            env: 'AutodeskProduction',
            getAccessToken: getForgeToken,
            api: 'derivativeV2' + (atob(urn.replace('_', '/')).indexOf('emea') > -1 ? '_EU' : '') // Both BIM 360 US and EU regions
        };

        Autodesk.Viewing.Initializer(options, () => {
            viewer = new Autodesk.Viewing.GuiViewer3D(document.getElementById('forgeViewer'));
            viewer.start();
            var documentId = 'urn:' + urn;
            Autodesk.Viewing.Document.load(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);
        });

        function onDocumentLoadSuccess(doc) {
            // if a viewableId was specified, load that view, otherwise the default view
            var viewables = (viewableId ? doc.getRoot().findByGuid(viewableId) : doc.getRoot().getDefaultGeometry());
            viewer.loadDocumentNode(doc, viewables).then(i => {
                viewer.loadExtension('Autodesk.VisualClusters');
                viewer.loadExtension('Autodesk.Snapping');
                viewer.loadExtension("Autodesk.Viewing.MarkupsCore");
                viewer.loadExtension("Autodesk.Viewing.MarkupsGui");
                viewer.loadExtension('Autodesk.Measure');
                viewer.loadExtension('Autodesk.DefaultTools.NavTools');
                viewer.loadExtension('Autodesk.PDF');
                viewer.loadExtension('Autodesk.DocumentBrowser');
                viewer.loadExtension('Autodesk.Viewing.ZoomWindow');
                // any additional added here
            });
            viewer.navigation.setZoomInLimitFactor(2500);
            console.log(viewer.navigation.getZoomInLimitFactor());
        }

        function onDocumentLoadFailure(viewerErrorCode) {
            console.error('onDocumentLoadFailure() - errorCode:' + viewerErrorCode);
        }
    }

如果我们漏掉了什么,请告诉我。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-12-20 04:56:20

看起来您正在使用旧的方式翻译PDF,然后将其加载到查看器。以旧的方式,PDF被翻译成平铺图像。因此,快照可能不工作,缩放有最大限度,因为最大分辨率的瓷砖图像。

实际上,Forge支持直接加载本机PDF,无需翻译。因为它是原生的,所以它是矢量图形。抓拍可以工作,可以放大到大/小的范围。

要播放它,请下载示例项目https://github.com/Autodesk-Forge/viewer-javascript-offline.sample并将该行替换到本地pdf文件中。

代码语言:javascript
运行
复制
  var options = {
      'env' : 'Local',
      'document' : './my_PDF_folder/mytest.pdf'
  };

此特性来自扩展Autodesk.PDF,但它将被加载为默认的,您不需要显式加载它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70278410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档