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?
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?
Share Improve this question asked Jan 6, 2017 at 10:08 NathanNathan 7,75914 gold badges74 silver badges150 bronze badges 2- did you also install the pdf package? or only the types package? – toskv Commented Jan 6, 2017 at 10:10
- I installed it the way I wrote. That installs the pdf package too, right? I can also find the folder "pdf" in my nodes_modules. – Nathan Commented Jan 6, 2017 at 10:12
1 Answer
Reset to default 7Update:
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";