【问题标题】:Import namespace with function from PDFTron in Angular从 Angular 中的 PDFTron 导入具有函数的命名空间
【发布时间】:2020-06-26 08:20:21
【问题描述】:

我正在尝试使用 PDFTron 库 "@pdftron/webviewer": "^6.2.3" ,从这个示例开始 - https://github.com/PDFTron/webviewer-angular-sample

他们有 CoreControls 命名空间,描述如下:

export declare namespace CoreControls {}

在我正在使用的 app.component.ts 中

import {CoreControls} from '@pdftron/webviewer';

接下来我想用这个:

ngOnInit() {
  CoreControls.createDocument('blabla');
}

得到了这个错误

"ERROR TypeError: Cannot read property 'createDocument' of undefined".

一般来说,我需要在没有 WebViewer 的情况下使用他们的 API,比如这里 - https://www.pdftron.com/documentation/web/guides/get-file-data-without-viewer/ 。但是确实有些问题,也许我不理解 angular right 或 TS,或者 PDFTron 没有针对 angular 进行优化。

我不明白我不明白的。

【问题讨论】:

    标签: angular typescript pdftron


    【解决方案1】:

    我认为是从语句中导入的CoreControls

    import {CoreControls} from '@pdftron/webviewer';
    

    是一个类型声明,而不是实际的类。这可以解释为什么当您尝试访问 CoreControls 时会未定义。

    要解决此问题,您需要将 CoreControls 脚本直接附加到 HTML 文件中。具体来说,在这个文件 https://github.com/PDFTron/webviewer-angular-sample/blob/master/src/index.html 中,您需要添加一个 <script src=path></script>,其中路径是 npm 包中 CoreControls.js 的位置。

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-28
      • 2011-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-18
      • 1970-01-01
      相关资源
      最近更新 更多