Skip to content

Commit 6039e2a

Browse files
authored
maint: update types. issue #392 (#399)
1 parent be47b08 commit 6039e2a

1 file changed

Lines changed: 124 additions & 107 deletions

File tree

src/types/pdfparser.d.ts

Lines changed: 124 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -3,156 +3,173 @@ import { EventEmitter } from "node:events";
33
import { Transform, Readable, TransformOptions, TransformCallback } from "node:stream";
44
import fs from "node:fs";
55

6+
67
export 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

3453
export 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

6081
export 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

6990
export 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

7899
export 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

89110
export 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

96117
export 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

104125
export 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

123144
export 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

130151
export 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

158175
export default PDFParser

0 commit comments

Comments
 (0)