How am I supposed to use the "pdf" package from typescript

5.7k views Asked by At

I have installed pdf including types using

npm install --save pdf @types/pdf

Unfortantly I cannot find any documentation on how to use this. If I do:

import {PDFJS} from 'pdf';
PDFJS.getDocument(fileName)

I get:

TyeError: Cannot read 'getDocument' of undefined

So how should I initialize this?

1

There are 1 answers

7
Joe Clay On BEST ANSWER

Update:

Since writing this answer, the type definitions have been renamed to match the NPM package, and a proper export definition has been added, so you can ignore all of the below and just npm install --save-dev @types/pdf-dist.


Original Answer:

This is a consequence of bad package naming - the @types/pdf package provides types for Mozilla's PDF.js (which you can obtain via NPM using the pdfjs-dist package), not the long since abandoned pdf.

npm uninstall --save pdf
npm install --save pdfjs-dist

Additionally, it seems like the @types/pdf definitions only defines PDF.js as a global variable, not as an importable module. This is despite the fact that the library definitely supports being imported... Add the following to your project somewhere, it should fix it.

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

Then import PDF.js like so:

import { PDFJS } from "pdfjs-dist";