使用pdfjs-dist中的TypeScript(TSX)中的方法导入名称空间和接口(PDFJS)

问题描述 投票:0回答:1

我试图在我的React项目中使用pdfjs-dist,但是在尝试导入项目中的模块和函数时会遇到很多问题。

定义@ types / node_modules中的pdfjs-dist模块index.d.ts,使其包含名称空间“PDF”和导出“PDF”的模块“pdfjs-dist”。

该文件有接口,其中包含我想从其他类调用的方法,如“getDocument(name:string)”。

简而言之;该文件包含许多通过此接口实现的接口和方法,在表单上:

declare module "pdfjs-dist" {
  export = PDF;
}

declare namespace PDF {
  interface PDFJSStatic {
    getDocument(
      source: string,
      pdfDataRangeTransport ? : any,
      passwordCallback ? : (fn: (password: string) => void, reason: string) => string,
      progressCallback ? : (progressData: PDFProgressData) => void): PDFPromise < PDFDocumentProxy > ;

  }

我试图使用常规的import语句,例如:

import * as PDF from "pdfjs-dist"

import { PDFJSStatic } from "pdfjs-dist"

但是,它似乎没有很好的反应。 VS Code给了我所有的接口,所以我可以看到它们是什么,但这是我对React和Typescript的了解有点短的地方。我将如何调用方法并实际使用“getDocument()”方法?

reactjs typescript module pdfjs
1个回答
1
投票

出于某种原因,修复似乎是首先导入接口,以便在第2行使用require语句时可以使用PDFJSStatic和其他接口。

我使用的进口报表是;

import { PDFJSStatic, PDFPageProxy } from "pdfjs-dist";
let PDFJS: PDFJSStatic = require("pdfjs-dist");

这可能不是正确的做法,但它确实有效。

© www.soinside.com 2019 - 2024. All rights reserved.