Javascript 使用PDF扩展名在Forge Viewer中呈现PDF-PDF.worker.js警告

Javascript 使用PDF扩展名在Forge Viewer中呈现PDF-PDF.worker.js警告,javascript,angular,pdf,autodesk-forge,Javascript,Angular,Pdf,Autodesk Forge,当试图呈现一个通过我们自己的API提供服务的PDF时,PDF.worker.js抛出以下警告,呈现的PDF始终保持完全白色 我只看到了这个(这是一个很宽的PDF,但在演示中得到了正确的呈现): 我们的客户端应用程序使用angular提供服务,但是我不能完全封装这个问题。通过一个简单而新的angular应用程序,我能够呈现一个PDF文件,由我们的API提供,但在我更大的客户端应用程序中,上面的错误不断发生,我不知道为什么 我正在使用这段代码加载PDF,它的灵感来自Autodesk Autode

当试图呈现一个通过我们自己的API提供服务的PDF时,
PDF.worker.js
抛出以下警告,呈现的PDF始终保持完全白色

我只看到了这个(这是一个很宽的PDF,但在演示中得到了正确的呈现):

我们的客户端应用程序使用angular提供服务,但是我不能完全封装这个问题。通过一个简单而新的angular应用程序,我能够呈现一个PDF文件,由我们的API提供,但在我更大的客户端应用程序中,上面的错误不断发生,我不知道为什么

我正在使用这段代码加载PDF,它的灵感来自Autodesk

Autodesk.Viewing.Initializer({ env: 'Development', useADP: false }, () => {
  const viewer = new Autodesk.Viewing.GuiViewer3D(
    document.getElementById('forgeViewer'),
  );
  viewer.start();

  const url =
    'http://api.pdfFileToRender.pdf';

  viewer.loadExtension('Autodesk.PDF').then(() => {
    viewer.loadModel(
      url,
      {},
      model => {
        console.error('Success: ', model);
      },
      (errorCode, errorMessage, errorArgs) => {
        console.error('Error Code: ', errorCode);
        console.error('Error Msg: ', errorMessage);
        console.error('Error Args: ', errorArgs);
      },
    );
    viewer.loadExtension('Autodesk.Viewing.MarkupsCore');
    viewer.loadExtension('Autodesk.Viewing.MarkupsGui');
  });
});
loadModel
函数还调用
onSuccessCallback
,我在控制台中看到“Success”

对我来说,无法将PDF扩展集成到我的客户端应用程序中。如果有人知道解决方案或对此有任何提示,我将非常感激

对我来说,PDF是本地呈现的,而不是上传到任何Forge API,这一点也很重要


为了服务于客户端应用程序,我使用Angular 11.2.7和Typescript 4.1.5。我正在用版本7.36.0加载ForgeViewer,但其他版本也会出现问题。

对于任何感兴趣的人,我都可以找到答案。我们自己的应用程序定义数组原型函数。然而,对于pdf.js来说,这是一个问题,它被Forge的pdf扩展使用

根本问题是通过如下方式定义阵列原型函数:

Array.prototype.myFunction = function(...) {...}
我们要么排除自己的数组函数,要么这样编写:

Object.defineProperty(Array.prototype, 'myFunction', {value: function(...) {...})

所以,若您的应用程序定义了数组原型函数,请使用
Object.defineProperty
,或者根本不使用它们。这似乎解决了问题。干杯。

主要步骤是呈现从API获取的PDF?您需要任何特定的库还是只想显示pdf?根据这一点,pdf扩展用于呈现任何pdf,例如本地pdf或其他服务器提供的pdf。有了这个演示(链接在Blogpost中),我可以从我的服务器上呈现我自己的PDF,但不知何故,我无法在我的客户端应用程序上运行它,因为我总是会遇到上面提到的错误。为了回答你的问题,我只想在Forge Viewer中显示PDF,以便在PDF中进行测量