pdf-oxide 0.3.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +218 -0
- package/binding.gyp +35 -0
- package/package.json +78 -0
- package/src/builders/annotation-builder.ts +367 -0
- package/src/builders/conversion-options-builder.ts +257 -0
- package/src/builders/index.ts +12 -0
- package/src/builders/metadata-builder.ts +317 -0
- package/src/builders/pdf-builder.ts +386 -0
- package/src/builders/search-options-builder.ts +151 -0
- package/src/document-editor-manager.ts +318 -0
- package/src/errors.ts +1629 -0
- package/src/form-field-manager.ts +666 -0
- package/src/hybrid-ml-manager.ts +283 -0
- package/src/index.ts +453 -0
- package/src/managers/accessibility-manager.ts +338 -0
- package/src/managers/annotation-manager.ts +439 -0
- package/src/managers/barcode-manager.ts +235 -0
- package/src/managers/batch-manager.ts +533 -0
- package/src/managers/cache-manager.ts +486 -0
- package/src/managers/compliance-manager.ts +375 -0
- package/src/managers/content-manager.ts +339 -0
- package/src/managers/document-utility-manager.ts +922 -0
- package/src/managers/dom-pdf-creator.ts +365 -0
- package/src/managers/editing-manager.ts +514 -0
- package/src/managers/enterprise-manager.ts +478 -0
- package/src/managers/extended-managers.ts +437 -0
- package/src/managers/extraction-manager.ts +583 -0
- package/src/managers/final-utilities.ts +429 -0
- package/src/managers/hybrid-ml-advanced.ts +479 -0
- package/src/managers/index.ts +239 -0
- package/src/managers/layer-manager.ts +500 -0
- package/src/managers/metadata-manager.ts +303 -0
- package/src/managers/ocr-manager.ts +756 -0
- package/src/managers/optimization-manager.ts +262 -0
- package/src/managers/outline-manager.ts +196 -0
- package/src/managers/page-manager.ts +289 -0
- package/src/managers/pattern-detection.ts +440 -0
- package/src/managers/rendering-manager.ts +863 -0
- package/src/managers/search-manager.ts +385 -0
- package/src/managers/security-manager.ts +345 -0
- package/src/managers/signature-manager.ts +1664 -0
- package/src/managers/streams.ts +618 -0
- package/src/managers/xfa-manager.ts +500 -0
- package/src/pdf-creator-manager.ts +494 -0
- package/src/properties.ts +522 -0
- package/src/result-accessors-manager.ts +867 -0
- package/src/tests/advanced-features.test.ts +414 -0
- package/src/tests/advanced.test.ts +266 -0
- package/src/tests/extended-managers.test.ts +316 -0
- package/src/tests/final-utilities.test.ts +455 -0
- package/src/tests/foundation.test.ts +315 -0
- package/src/tests/high-demand.test.ts +257 -0
- package/src/tests/specialized.test.ts +97 -0
- package/src/thumbnail-manager.ts +272 -0
- package/src/types/common.ts +142 -0
- package/src/types/document-types.ts +457 -0
- package/src/types/index.ts +6 -0
- package/src/types/manager-types.ts +284 -0
- package/src/types/native-bindings.ts +517 -0
- package/src/workers/index.ts +7 -0
- package/src/workers/pool.ts +274 -0
- package/src/workers/worker.ts +131 -0
|
@@ -0,0 +1,517 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for PDF Oxide native bindings (C++ module via NAPI)
|
|
3
|
+
*
|
|
4
|
+
* These interfaces describe the structure of objects returned from the native module.
|
|
5
|
+
* They are used for type checking and IDE auto-completion when working with the binding layer.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
// ===== Geometry Types =====
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Represents a rectangular area with coordinates and dimensions
|
|
12
|
+
*/
|
|
13
|
+
export interface Rect {
|
|
14
|
+
x: number;
|
|
15
|
+
y: number;
|
|
16
|
+
width: number;
|
|
17
|
+
height: number;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Represents a 2D point coordinate
|
|
22
|
+
*/
|
|
23
|
+
export interface Point {
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Represents an RGB color value
|
|
30
|
+
*/
|
|
31
|
+
export interface Color {
|
|
32
|
+
red: number;
|
|
33
|
+
green: number;
|
|
34
|
+
blue: number;
|
|
35
|
+
alpha?: number;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// ===== Document Info Types =====
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Document metadata and properties
|
|
42
|
+
*/
|
|
43
|
+
export interface DocumentInfo {
|
|
44
|
+
title?: string;
|
|
45
|
+
author?: string;
|
|
46
|
+
subject?: string;
|
|
47
|
+
keywords?: string[];
|
|
48
|
+
creator?: string;
|
|
49
|
+
producer?: string;
|
|
50
|
+
creationDate?: Date;
|
|
51
|
+
modificationDate?: Date;
|
|
52
|
+
encrypted?: boolean;
|
|
53
|
+
pages?: number;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* PDF document metadata
|
|
58
|
+
*/
|
|
59
|
+
export interface Metadata {
|
|
60
|
+
[key: string]: string | number | boolean | Date | undefined;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Embedded file information
|
|
65
|
+
*/
|
|
66
|
+
export interface EmbeddedFile {
|
|
67
|
+
filename: string;
|
|
68
|
+
mimeType?: string;
|
|
69
|
+
size?: number;
|
|
70
|
+
data?: Buffer;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// ===== Search Types =====
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Result of a text search operation
|
|
77
|
+
*/
|
|
78
|
+
export interface SearchResult {
|
|
79
|
+
pageIndex: number;
|
|
80
|
+
text: string;
|
|
81
|
+
x: number;
|
|
82
|
+
y: number;
|
|
83
|
+
width: number;
|
|
84
|
+
height: number;
|
|
85
|
+
confidence?: number;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Options for text search operations
|
|
90
|
+
*/
|
|
91
|
+
export interface SearchOptions {
|
|
92
|
+
caseSensitive?: boolean;
|
|
93
|
+
wholeWords?: boolean;
|
|
94
|
+
regex?: boolean;
|
|
95
|
+
startPage?: number;
|
|
96
|
+
endPage?: number;
|
|
97
|
+
maxResults?: number;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Options for document conversion
|
|
102
|
+
*/
|
|
103
|
+
export interface ConversionOptions {
|
|
104
|
+
format?: 'markdown' | 'text' | 'html';
|
|
105
|
+
includeImages?: boolean;
|
|
106
|
+
includeMetadata?: boolean;
|
|
107
|
+
preserveLayout?: boolean;
|
|
108
|
+
encoding?: string;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// ===== PDF Element Types =====
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Base class for PDF elements (text, images, paths, etc.)
|
|
115
|
+
*/
|
|
116
|
+
export interface PdfElement {
|
|
117
|
+
type: string;
|
|
118
|
+
bounds: Rect;
|
|
119
|
+
rotation?: number;
|
|
120
|
+
opacity?: number;
|
|
121
|
+
blendMode?: string;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Text element extracted from PDF
|
|
126
|
+
*/
|
|
127
|
+
export interface PdfText extends PdfElement {
|
|
128
|
+
type: 'text';
|
|
129
|
+
content: string;
|
|
130
|
+
fontSize?: number;
|
|
131
|
+
fontName?: string;
|
|
132
|
+
fontFamily?: string;
|
|
133
|
+
bold?: boolean;
|
|
134
|
+
italic?: boolean;
|
|
135
|
+
color?: Color;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Image element from PDF
|
|
140
|
+
*/
|
|
141
|
+
export interface PdfImage extends PdfElement {
|
|
142
|
+
type: 'image';
|
|
143
|
+
width: number;
|
|
144
|
+
height: number;
|
|
145
|
+
colorSpace?: string;
|
|
146
|
+
bitsPerComponent?: number;
|
|
147
|
+
data?: Buffer;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Vector path (graphics)
|
|
152
|
+
*/
|
|
153
|
+
export interface PdfPath extends PdfElement {
|
|
154
|
+
type: 'path';
|
|
155
|
+
points: Point[];
|
|
156
|
+
strokeColor?: Color;
|
|
157
|
+
fillColor?: Color;
|
|
158
|
+
lineWidth?: number;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Table extracted from PDF
|
|
163
|
+
*/
|
|
164
|
+
export interface PdfTable extends PdfElement {
|
|
165
|
+
type: 'table';
|
|
166
|
+
rows: number;
|
|
167
|
+
columns: number;
|
|
168
|
+
cells: PdfTableCell[][];
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Individual table cell
|
|
173
|
+
*/
|
|
174
|
+
export interface PdfTableCell {
|
|
175
|
+
text: string;
|
|
176
|
+
rowSpan?: number;
|
|
177
|
+
colSpan?: number;
|
|
178
|
+
backgroundColor?: Color;
|
|
179
|
+
borderColor?: Color;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// ===== Annotation Types =====
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Base annotation interface
|
|
186
|
+
*/
|
|
187
|
+
export interface Annotation {
|
|
188
|
+
type: string;
|
|
189
|
+
page: number;
|
|
190
|
+
bounds: Rect;
|
|
191
|
+
author?: string;
|
|
192
|
+
content?: string;
|
|
193
|
+
creationDate?: Date;
|
|
194
|
+
modificationDate?: Date;
|
|
195
|
+
flags?: number;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Text annotation (sticky note style)
|
|
200
|
+
*/
|
|
201
|
+
export interface TextAnnotation extends Annotation {
|
|
202
|
+
type: 'text';
|
|
203
|
+
icon?: string;
|
|
204
|
+
color?: Color;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Highlight annotation
|
|
209
|
+
*/
|
|
210
|
+
export interface HighlightAnnotation extends Annotation {
|
|
211
|
+
type: 'highlight';
|
|
212
|
+
color?: Color;
|
|
213
|
+
quadPoints?: Point[][];
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* Link annotation
|
|
218
|
+
*/
|
|
219
|
+
export interface LinkAnnotation extends Annotation {
|
|
220
|
+
type: 'link';
|
|
221
|
+
url?: string;
|
|
222
|
+
destination?: {
|
|
223
|
+
page: number;
|
|
224
|
+
x?: number;
|
|
225
|
+
y?: number;
|
|
226
|
+
zoom?: number;
|
|
227
|
+
};
|
|
228
|
+
action?: string;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Ink annotation (drawing/handwriting)
|
|
233
|
+
*/
|
|
234
|
+
export interface InkAnnotation extends Annotation {
|
|
235
|
+
type: 'ink';
|
|
236
|
+
strokes: Point[][];
|
|
237
|
+
color?: Color;
|
|
238
|
+
thickness?: number;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Square annotation
|
|
243
|
+
*/
|
|
244
|
+
export interface SquareAnnotation extends Annotation {
|
|
245
|
+
type: 'square';
|
|
246
|
+
fillColor?: Color;
|
|
247
|
+
strokeColor?: Color;
|
|
248
|
+
lineWidth?: number;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Circle annotation
|
|
253
|
+
*/
|
|
254
|
+
export interface CircleAnnotation extends Annotation {
|
|
255
|
+
type: 'circle';
|
|
256
|
+
fillColor?: Color;
|
|
257
|
+
strokeColor?: Color;
|
|
258
|
+
lineWidth?: number;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* Line annotation
|
|
263
|
+
*/
|
|
264
|
+
export interface LineAnnotation extends Annotation {
|
|
265
|
+
type: 'line';
|
|
266
|
+
startPoint: Point;
|
|
267
|
+
endPoint: Point;
|
|
268
|
+
color?: Color;
|
|
269
|
+
lineWidth?: number;
|
|
270
|
+
startLineStyle?: string;
|
|
271
|
+
endLineStyle?: string;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Polygon annotation
|
|
276
|
+
*/
|
|
277
|
+
export interface PolygonAnnotation extends Annotation {
|
|
278
|
+
type: 'polygon';
|
|
279
|
+
vertices: Point[];
|
|
280
|
+
fillColor?: Color;
|
|
281
|
+
strokeColor?: Color;
|
|
282
|
+
lineWidth?: number;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
// ===== Native Class Interfaces =====
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Native PdfDocument class interface
|
|
289
|
+
*/
|
|
290
|
+
export interface NativePdfDocument {
|
|
291
|
+
// Version info
|
|
292
|
+
getVersion(): string;
|
|
293
|
+
getPdfOxideVersion(): string;
|
|
294
|
+
|
|
295
|
+
// Document properties
|
|
296
|
+
getPageCount(): number;
|
|
297
|
+
getTitle(): string | null;
|
|
298
|
+
getAuthor(): string | null;
|
|
299
|
+
getSubject(): string | null;
|
|
300
|
+
getKeywords(): string[] | null;
|
|
301
|
+
getCreationDate(): Date | null;
|
|
302
|
+
getModificationDate(): Date | null;
|
|
303
|
+
isEncrypted(): boolean;
|
|
304
|
+
isLinearized(): boolean;
|
|
305
|
+
|
|
306
|
+
// Metadata operations
|
|
307
|
+
getMetadata(): Metadata;
|
|
308
|
+
setMetadata(metadata: Metadata): void;
|
|
309
|
+
getDocumentInfo(): DocumentInfo;
|
|
310
|
+
|
|
311
|
+
// Text extraction
|
|
312
|
+
extractText(pageIndex: number): string;
|
|
313
|
+
extractTextAsync(pageIndex: number): Promise<string>;
|
|
314
|
+
toMarkdown(): string;
|
|
315
|
+
toMarkdownAsync(): Promise<string>;
|
|
316
|
+
toHtml(): string;
|
|
317
|
+
|
|
318
|
+
// Search operations
|
|
319
|
+
search(text: string, options?: SearchOptions): SearchResult[];
|
|
320
|
+
hasText(text: string, caseSensitive?: boolean): boolean;
|
|
321
|
+
|
|
322
|
+
// Page access
|
|
323
|
+
getPage(pageIndex: number): NativePdfPage;
|
|
324
|
+
getPages(): NativePdfPage[];
|
|
325
|
+
|
|
326
|
+
// Document manipulation
|
|
327
|
+
saveToPath(path: string): void;
|
|
328
|
+
saveToPdf(format?: string): Buffer;
|
|
329
|
+
save_async(path: string): Promise<void>;
|
|
330
|
+
saveToStream(stream: NodeJS.WritableStream): void;
|
|
331
|
+
|
|
332
|
+
// Form operations
|
|
333
|
+
getForms(): any;
|
|
334
|
+
fillForms(values: Record<string, string>): void;
|
|
335
|
+
|
|
336
|
+
// Embedded files
|
|
337
|
+
getEmbeddedFiles(): EmbeddedFile[];
|
|
338
|
+
extractEmbeddedFile(filename: string): Buffer;
|
|
339
|
+
|
|
340
|
+
// Security operations
|
|
341
|
+
encrypt(userPassword: string, ownerPassword?: string, permissions?: number): void;
|
|
342
|
+
decrypt(password: string): boolean;
|
|
343
|
+
setPermissions(permissions: number): void;
|
|
344
|
+
|
|
345
|
+
// Outline/Bookmarks
|
|
346
|
+
getOutline(): any[];
|
|
347
|
+
setOutline(outline: any[]): void;
|
|
348
|
+
|
|
349
|
+
// Document structure
|
|
350
|
+
getStructure(): any;
|
|
351
|
+
getPageLabels(): string[];
|
|
352
|
+
setPageLabels(labels: string[]): void;
|
|
353
|
+
|
|
354
|
+
// Layers (Optional Content)
|
|
355
|
+
getLayers(): any[];
|
|
356
|
+
setLayerVisibility(layerId: string, visible: boolean): void;
|
|
357
|
+
|
|
358
|
+
// Cleanup
|
|
359
|
+
close(): void;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
/**
|
|
363
|
+
* Native Pdf class interface (represents a PDF file)
|
|
364
|
+
*/
|
|
365
|
+
export interface NativePdf {
|
|
366
|
+
// Properties
|
|
367
|
+
getPageCount(): number;
|
|
368
|
+
getPageSizes(): Array<{ width: number; height: number }>;
|
|
369
|
+
getPageSize(pageIndex: number): { width: number; height: number };
|
|
370
|
+
|
|
371
|
+
// Page access
|
|
372
|
+
getPage(pageIndex: number): NativePdfPage;
|
|
373
|
+
|
|
374
|
+
// Rendering
|
|
375
|
+
renderPage(pageIndex: number, options?: any): Buffer;
|
|
376
|
+
renderPageToCanvas(pageIndex: number, canvas: any): void;
|
|
377
|
+
|
|
378
|
+
// Manipulation
|
|
379
|
+
addPage(width: number, height: number): NativePdfPage;
|
|
380
|
+
removePage(pageIndex: number): void;
|
|
381
|
+
insertPage(pageIndex: number, width: number, height: number): NativePdfPage;
|
|
382
|
+
rotatePage(pageIndex: number, rotation: number): void;
|
|
383
|
+
|
|
384
|
+
// Saving
|
|
385
|
+
save_async(path: string): Promise<void>;
|
|
386
|
+
saveToBuffer(): Buffer;
|
|
387
|
+
|
|
388
|
+
// Cleanup
|
|
389
|
+
close(): void;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* Native PdfPage class interface
|
|
394
|
+
*/
|
|
395
|
+
export interface NativePdfPage {
|
|
396
|
+
// Properties
|
|
397
|
+
getIndex(): number;
|
|
398
|
+
getWidth(): number;
|
|
399
|
+
getHeight(): number;
|
|
400
|
+
getRotation(): number;
|
|
401
|
+
getMediaBox(): Rect;
|
|
402
|
+
getCropBox(): Rect;
|
|
403
|
+
|
|
404
|
+
// Content extraction
|
|
405
|
+
extractText(): string;
|
|
406
|
+
extractElements(): PdfElement[];
|
|
407
|
+
getImages(): PdfImage[];
|
|
408
|
+
getTables(): PdfTable[];
|
|
409
|
+
|
|
410
|
+
// Rendering
|
|
411
|
+
render(options?: any): Buffer;
|
|
412
|
+
renderToCanvas(canvas: any): void;
|
|
413
|
+
|
|
414
|
+
// Annotations
|
|
415
|
+
getAnnotations(): Annotation[];
|
|
416
|
+
addAnnotation(annotation: Annotation): void;
|
|
417
|
+
removeAnnotation(annotationIndex: number): void;
|
|
418
|
+
|
|
419
|
+
// Manipulation
|
|
420
|
+
setMediaBox(rect: Rect): void;
|
|
421
|
+
setCropBox(rect: Rect): void;
|
|
422
|
+
rotate(rotation: number): void;
|
|
423
|
+
|
|
424
|
+
// Drawing
|
|
425
|
+
drawText(text: string, x: number, y: number, options?: any): void;
|
|
426
|
+
drawImage(image: Buffer, x: number, y: number, width: number, height: number): void;
|
|
427
|
+
drawPath(points: Point[], options?: any): void;
|
|
428
|
+
|
|
429
|
+
// Search
|
|
430
|
+
searchText(text: string, options?: SearchOptions): SearchResult[];
|
|
431
|
+
|
|
432
|
+
// Cleanup
|
|
433
|
+
close(): void;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* Native builder class interface
|
|
438
|
+
*/
|
|
439
|
+
export interface NativePdfBuilder {
|
|
440
|
+
// Fluent methods
|
|
441
|
+
title(title: string): NativePdfBuilder;
|
|
442
|
+
author(author: string): NativePdfBuilder;
|
|
443
|
+
subject(subject: string): NativePdfBuilder;
|
|
444
|
+
keywords(keywords: string[]): NativePdfBuilder;
|
|
445
|
+
creator(creator: string): NativePdfBuilder;
|
|
446
|
+
producer(producer: string): NativePdfBuilder;
|
|
447
|
+
|
|
448
|
+
// Build method
|
|
449
|
+
build(): NativePdf;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
/**
|
|
453
|
+
* Native text searcher interface
|
|
454
|
+
*/
|
|
455
|
+
export interface NativeTextSearcher {
|
|
456
|
+
search(text: string, options?: SearchOptions): SearchResult[];
|
|
457
|
+
replaceAll(searchText: string, replaceText: string): number;
|
|
458
|
+
getMatches(text: string): SearchResult[];
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
/**
|
|
462
|
+
* Page size constants
|
|
463
|
+
*/
|
|
464
|
+
export interface PageSizeConstants {
|
|
465
|
+
A0: { width: number; height: number };
|
|
466
|
+
A1: { width: number; height: number };
|
|
467
|
+
A2: { width: number; height: number };
|
|
468
|
+
A3: { width: number; height: number };
|
|
469
|
+
A4: { width: number; height: number };
|
|
470
|
+
A5: { width: number; height: number };
|
|
471
|
+
Letter: { width: number; height: number };
|
|
472
|
+
Legal: { width: number; height: number };
|
|
473
|
+
Tabloid: { width: number; height: number };
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
/**
|
|
477
|
+
* Complete native module interface
|
|
478
|
+
*/
|
|
479
|
+
export interface NativeModule {
|
|
480
|
+
// Version functions
|
|
481
|
+
getVersion(): string;
|
|
482
|
+
getPdfOxideVersion(): string;
|
|
483
|
+
|
|
484
|
+
// Classes
|
|
485
|
+
PdfDocument: new (...args: any[]) => NativePdfDocument;
|
|
486
|
+
Pdf: new (...args: any[]) => NativePdf;
|
|
487
|
+
PdfPage: new (...args: any[]) => NativePdfPage;
|
|
488
|
+
PdfBuilder: new (...args: any[]) => NativePdfBuilder;
|
|
489
|
+
TextSearcher: new (...args: any[]) => NativeTextSearcher;
|
|
490
|
+
|
|
491
|
+
// Element types
|
|
492
|
+
PdfElement: new (...args: any[]) => PdfElement;
|
|
493
|
+
PdfText: new (...args: any[]) => PdfText;
|
|
494
|
+
PdfImage: new (...args: any[]) => PdfImage;
|
|
495
|
+
PdfPath: new (...args: any[]) => PdfPath;
|
|
496
|
+
PdfTable: new (...args: any[]) => PdfTable;
|
|
497
|
+
PdfStructure: new (...args: any[]) => any;
|
|
498
|
+
|
|
499
|
+
// Annotation types
|
|
500
|
+
Annotation: new (...args: any[]) => Annotation;
|
|
501
|
+
TextAnnotation: new (...args: any[]) => TextAnnotation;
|
|
502
|
+
HighlightAnnotation: new (...args: any[]) => HighlightAnnotation;
|
|
503
|
+
LinkAnnotation: new (...args: any[]) => LinkAnnotation;
|
|
504
|
+
|
|
505
|
+
// Type constants
|
|
506
|
+
PageSize: PageSizeConstants;
|
|
507
|
+
Rect: new (x: number, y: number, width: number, height: number) => Rect;
|
|
508
|
+
Point: new (x: number, y: number) => Point;
|
|
509
|
+
Color: new (red: number, green: number, blue: number, alpha?: number) => Color;
|
|
510
|
+
|
|
511
|
+
// Options
|
|
512
|
+
ConversionOptions: new (...args: any[]) => ConversionOptions;
|
|
513
|
+
SearchOptions: new (...args: any[]) => SearchOptions;
|
|
514
|
+
SearchResult: new (...args: any[]) => SearchResult;
|
|
515
|
+
|
|
516
|
+
[key: string]: any;
|
|
517
|
+
}
|