@@ -3,156 +3,173 @@ import { EventEmitter } from "node:events";
33import { Transform , Readable , TransformOptions , TransformCallback } from "node:stream" ;
44import fs from "node:fs" ;
55
6+
67export declare class StringifyStream extends Transform {
7- constructor ( options ?: TransformOptions ) ;
8- _transform ( obj : any , encoding : string , callback : TransformCallback ) : void ;
8+ constructor ( options ?: TransformOptions ) ;
9+ _transform ( obj : any , encoding : string , callback : TransformCallback ) : void ;
910}
1011
11- export declare class ParserStream {
12- static createContentStream ( jsonObj ) : Readable
13- static createOutputStream ( outputPath , resolve , reject ) : fs . WriteStream
12+
13+ export declare class ParserStream extends Transform {
14+ static createContentStream ( jsonObj : any ) : Readable ;
15+ static createOutputStream ( outputPath : string , resolve : ( value : string ) => void , reject : ( reason ?: any ) => void ) : fs . WriteStream ;
16+ constructor ( pdfParser : any , options ?: TransformOptions ) ;
17+ _transform ( chunk : any , enc : string , callback : TransformCallback ) : void ;
18+ _flush ( callback : TransformCallback ) : void ;
19+ _destroy ( ) : void ;
1420}
1521
16- export declare class PDFParser extends EventEmitter {
17- static get ParserStream ( ) : typeof ParserStream
18- static get StringifyStream ( ) : typeof StringifyStream
19- static get pkInfo ( ) : { version : string ; name : string ; description : string ; author : string ; license : string ; }
20- // eslint-disable-next-line @typescript-eslint/naming-convention
21- static get _PARSER_SIG ( ) : string
22-
23- constructor ( context ?: any , needRawText ?: boolean , password ?: string ) ;
24-
25- parseBuffer ( buffer : Buffer , verbosity ?: number ) : void ;
26- loadPDF ( pdfFilePath : string , verbosity ?: number ) :Promise < void >
27- createParserStream ( ) : ParserStream
28- getRawTextContent ( ) : string
29- on < K extends keyof EventMap > ( eventName : K , listener : EventMap [ K ] ) : this
30- getAllFieldsTypes ( ) : FieldType [ ]
31- getAllFieldData ( ) : FieldType [ ]
22+ export declare class PDFParser extends EventEmitter {
23+ static get colorDict ( ) : object ;
24+ static get fontFaceDict ( ) : object ;
25+ static get fontStyleDict ( ) : object ;
26+ static get PDFUnit ( ) : any ;
27+ static get ParserStream ( ) : typeof ParserStream ;
28+ static get StringifyStream ( ) : typeof StringifyStream ;
29+ static get pkInfo ( ) : { version : string ; name : string ; description : string ; author : string ; license : string ; } ;
30+ // eslint-disable-next-line @typescript-eslint/naming-convention
31+ static get _PARSER_SIG ( ) : string ;
32+
33+ constructor ( context ?: any , needRawText ?: boolean , password ?: string ) ;
34+ on < K extends keyof EventMap > ( eventName : K , listener : EventMap [ K ] ) : this;
35+
36+ readonly data : object | null ;
37+ readonly binBufferKey : string ;
38+
39+ createParserStream ( ) : ParserStream ;
40+ loadPDF ( pdfFilePath : string , verbosity ?: number ) : Promise < void > ;
41+ parseBuffer ( pdfBuffer : Buffer , verbosity ?: number ) : void ;
42+ getRawTextContent ( ) : string ;
43+ getRawTextContentStream ( ) : Readable ;
44+ getAllFieldsTypes ( ) : FieldType [ ] ;
45+ getAllFieldData ( ) : FieldType [ ] ;
46+ getAllFieldsTypesStream ( ) : Readable ;
47+ getMergedTextBlocksIfNeeded ( ) : object ;
48+ getMergedTextBlocksStream ( ) : Readable ;
49+ resetPDFJS ( needRawText ?: boolean ) : void ;
50+ destroy ( ) : void ;
3251}
3352
3453export type EventMap = {
35- // eslint-disable-next-line @typescript-eslint/naming-convention
36- "pdfParser_dataError" : ( errMsg : Record < " parserError" , Error > ) => void ;
37- // eslint-disable-next-line @typescript-eslint/naming-convention
54+ /** Emitted when a parsing error occurs */
55+ "pdfParser_dataError" : ( errMsg : { parserError : Error } | Error ) => void ;
56+ /** Emitted when parsing is complete and data is ready */
3857 "pdfParser_dataReady" : ( pdfData : Output ) => void ;
58+ /** Emitted when PDFJS emits readable meta info */
3959 "readable" : ( meta : Output [ "Meta" ] ) => void ;
40- "data" : ( data : Output [ "Pages" ] [ number ] | null ) => void ;
60+ /** Emitted for each page of parsed data, or null at end */
61+ "data" : ( data : Output [ "Pages" ] [ number ] | null ) => void ;
4162}
4263
43- export interface Output {
44- Transcoder : string ,
45- Meta : Record < string , object >
46- Pages : Page [ ]
64+ export interface Output {
65+ Transcoder : string ;
66+ Meta : { [ key : string ] : any } ;
67+ Pages : Page [ ] ;
4768}
4869
49- export declare interface Page {
50- Width : number ,
51- Height : number ,
52- HLines : Line [ ] ,
53- VLines : Line [ ] ,
54- Fills : Fill [ ] ,
55- Texts : Text [ ] ,
56- Fields : Field [ ] ,
57- Boxsets : Boxset [ ]
70+ export declare interface Page {
71+ Width : number ;
72+ Height : number ;
73+ HLines : Line [ ] ;
74+ VLines : Line [ ] ;
75+ Fills : Fill [ ] ;
76+ Texts : Text [ ] ;
77+ Fields : Field [ ] ;
78+ Boxsets : Boxset [ ] ;
5879}
5980
6081export declare interface Fill {
61- x : number ,
62- y : number ,
63- w : number ,
64- h : number ,
65- oc ?: string ,
66- clr ?: number
82+ x : number ;
83+ y : number ;
84+ w : number ;
85+ h : number ;
86+ oc ?: string ;
87+ clr ?: number ;
6788}
6889
6990export declare interface Line {
70- x : number ,
71- y : number ,
72- w : number ,
73- l : number ,
74- oc ?: string ,
75- clr ?:number
91+ x : number ;
92+ y : number ;
93+ w : number ;
94+ l : number ;
95+ oc ?: string ;
96+ clr ?: number ;
7697}
7798
7899export declare interface Text {
79- x : number ,
80- y : number ,
81- w : number ,
82- sw : number ,
83- A : 'left' | 'center' | 'right' ,
84- R : TextRun [ ]
85- oc ?:string ;
100+ x : number ;
101+ y : number ;
102+ w : number ;
103+ sw : number ;
104+ A : 'left' | 'center' | 'right' ;
105+ R : TextRun [ ] ;
106+ oc ?: string ;
86107 clr ?: number ;
87108}
88109
89110export declare interface TextRun {
90- T : string ,
91- S : number ,
92- TS : [ number , number , 0 | 1 , 0 | 1 ]
93- RA ?: number
111+ T : string ;
112+ S : number ;
113+ TS : [ number , number , 0 | 1 , 0 | 1 ] ;
114+ RA ?: number ;
94115}
95116
96117export declare interface Boxset {
97- boxes : Box [ ] ,
98- id : {
99- Id : string ,
100- EN ?: number
101- }
118+ boxes : Box [ ] ;
119+ id : {
120+ Id : string ;
121+ EN ?: number ;
122+ } ;
102123}
103124
104125export declare interface Field {
105126 id : {
106- Id : string ,
107- EN ?: number
108- } ,
109- style : number ,
110- TI : number ,
111- AM : number ,
112- TU : string ,
113- x : number ,
114- y : number ,
115- w : number ,
116- h : number ,
127+ Id : string ;
128+ EN ?: number ;
129+ } ;
130+ style : number ;
131+ TI : number ;
132+ AM : number ;
133+ TU : string ;
134+ x : number ;
135+ y : number ;
136+ w : number ;
137+ h : number ;
117138 T : {
118- Name : 'alpha' | 'link' ,
119- TypeInfo : object
120- }
139+ Name : 'alpha' | 'link' ;
140+ TypeInfo : object ;
141+ } ;
121142}
122143
123144export declare interface FieldType {
124- id : string ,
125- type : 'alpha' | 'box' | 'radio' | 'date' | 'link' | 'signature' ,
126- calc : boolean ,
127- value : string | boolean
145+ id : string ;
146+ type : 'alpha' | 'box' | 'radio' | 'date' | 'link' | 'signature' ;
147+ calc : boolean ;
148+ value : string | boolean ;
128149}
129150
130151export declare interface Box {
131- x : number ,
132- y : number ,
133- w : number ,
134- h : number ,
135- oc ?: string ,
136- clr ?: number
137- }
152+ // Simple box (used in Fills, HLines, VLines, etc.)
153+ x ? : number ;
154+ y ? : number ;
155+ w ? : number ;
156+ h ?: number ;
157+ oc ?: string ;
158+ clr ?: number ;
138159
139- export declare interface Box {
140- id : {
141- Id : string ,
142- EN ? : number
143- }
144- T : {
145- Name : string ,
146- TypeInfo ? : object
147- }
148- x : number ,
149- y : number ,
150- w : number ,
151- h : number ,
152- TI : number ;
153- AM : number ;
160+ // Field/Boxset box (used in Boxsets, Fields)
161+ id ?: {
162+ Id : string ;
163+ EN ?: number ;
164+ } ;
165+ T ?: {
166+ Name : string ;
167+ TypeInfo ?: object ;
168+ } ;
169+ TI ?: number ;
170+ AM ?: number ;
154171 checked ?: boolean ;
155- style : number
172+ style ? : number ;
156173}
157174
158175export default PDFParser
0 commit comments