pdf-oxide-fips 0.3.47

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.
Files changed (127) hide show
  1. package/LICENSE-APACHE +176 -0
  2. package/LICENSE-MIT +25 -0
  3. package/README.md +218 -0
  4. package/lib/builders/annotation-builder.d.ts +198 -0
  5. package/lib/builders/annotation-builder.js +317 -0
  6. package/lib/builders/conversion-options-builder.d.ts +106 -0
  7. package/lib/builders/conversion-options-builder.js +214 -0
  8. package/lib/builders/document-builder.d.ts +381 -0
  9. package/lib/builders/document-builder.js +770 -0
  10. package/lib/builders/index.d.ts +13 -0
  11. package/lib/builders/index.js +13 -0
  12. package/lib/builders/metadata-builder.d.ts +201 -0
  13. package/lib/builders/metadata-builder.js +285 -0
  14. package/lib/builders/pdf-builder.d.ts +216 -0
  15. package/lib/builders/pdf-builder.js +350 -0
  16. package/lib/builders/search-options-builder.d.ts +73 -0
  17. package/lib/builders/search-options-builder.js +129 -0
  18. package/lib/builders/streaming-table.d.ts +64 -0
  19. package/lib/builders/streaming-table.js +140 -0
  20. package/lib/document-editor-manager.d.ts +139 -0
  21. package/lib/document-editor-manager.js +256 -0
  22. package/lib/document-editor.d.ts +124 -0
  23. package/lib/document-editor.js +318 -0
  24. package/lib/errors.d.ts +382 -0
  25. package/lib/errors.js +1115 -0
  26. package/lib/form-field-manager.d.ts +299 -0
  27. package/lib/form-field-manager.js +568 -0
  28. package/lib/hybrid-ml-manager.d.ts +142 -0
  29. package/lib/hybrid-ml-manager.js +208 -0
  30. package/lib/index.d.ts +205 -0
  31. package/lib/index.js +693 -0
  32. package/lib/managers/accessibility-manager.d.ts +148 -0
  33. package/lib/managers/accessibility-manager.js +234 -0
  34. package/lib/managers/annotation-manager.d.ts +219 -0
  35. package/lib/managers/annotation-manager.js +359 -0
  36. package/lib/managers/barcode-manager.d.ts +82 -0
  37. package/lib/managers/barcode-manager.js +263 -0
  38. package/lib/managers/batch-manager.d.ts +185 -0
  39. package/lib/managers/batch-manager.js +385 -0
  40. package/lib/managers/cache-manager.d.ts +181 -0
  41. package/lib/managers/cache-manager.js +384 -0
  42. package/lib/managers/compliance-manager.d.ts +103 -0
  43. package/lib/managers/compliance-manager.js +453 -0
  44. package/lib/managers/content-manager.d.ts +120 -0
  45. package/lib/managers/content-manager.js +294 -0
  46. package/lib/managers/document-utility-manager.d.ts +369 -0
  47. package/lib/managers/document-utility-manager.js +730 -0
  48. package/lib/managers/dom-pdf-creator.d.ts +104 -0
  49. package/lib/managers/dom-pdf-creator.js +299 -0
  50. package/lib/managers/editing-manager.d.ts +248 -0
  51. package/lib/managers/editing-manager.js +387 -0
  52. package/lib/managers/enterprise-manager.d.ts +192 -0
  53. package/lib/managers/enterprise-manager.js +307 -0
  54. package/lib/managers/extended-managers.d.ts +122 -0
  55. package/lib/managers/extended-managers.js +664 -0
  56. package/lib/managers/extraction-manager.d.ts +246 -0
  57. package/lib/managers/extraction-manager.js +482 -0
  58. package/lib/managers/final-utilities.d.ts +127 -0
  59. package/lib/managers/final-utilities.js +657 -0
  60. package/lib/managers/hybrid-ml-advanced.d.ts +136 -0
  61. package/lib/managers/hybrid-ml-advanced.js +722 -0
  62. package/lib/managers/index.d.ts +64 -0
  63. package/lib/managers/index.js +69 -0
  64. package/lib/managers/layer-manager.d.ts +203 -0
  65. package/lib/managers/layer-manager.js +401 -0
  66. package/lib/managers/metadata-manager.d.ts +148 -0
  67. package/lib/managers/metadata-manager.js +280 -0
  68. package/lib/managers/ocr-manager.d.ts +194 -0
  69. package/lib/managers/ocr-manager.js +582 -0
  70. package/lib/managers/optimization-manager.d.ts +102 -0
  71. package/lib/managers/optimization-manager.js +213 -0
  72. package/lib/managers/outline-manager.d.ts +101 -0
  73. package/lib/managers/outline-manager.js +169 -0
  74. package/lib/managers/page-manager.d.ts +142 -0
  75. package/lib/managers/page-manager.js +235 -0
  76. package/lib/managers/pattern-detection.d.ts +169 -0
  77. package/lib/managers/pattern-detection.js +322 -0
  78. package/lib/managers/rendering-manager.d.ts +353 -0
  79. package/lib/managers/rendering-manager.js +679 -0
  80. package/lib/managers/search-manager.d.ts +235 -0
  81. package/lib/managers/search-manager.js +329 -0
  82. package/lib/managers/security-manager.d.ts +161 -0
  83. package/lib/managers/security-manager.js +292 -0
  84. package/lib/managers/signature-manager.d.ts +738 -0
  85. package/lib/managers/signature-manager.js +1509 -0
  86. package/lib/managers/streams.d.ts +262 -0
  87. package/lib/managers/streams.js +477 -0
  88. package/lib/managers/xfa-manager.d.ts +227 -0
  89. package/lib/managers/xfa-manager.js +539 -0
  90. package/lib/native-loader.d.ts +7 -0
  91. package/lib/native-loader.js +62 -0
  92. package/lib/native.d.ts +16 -0
  93. package/lib/native.js +69 -0
  94. package/lib/pdf-creator-manager.d.ts +200 -0
  95. package/lib/pdf-creator-manager.js +381 -0
  96. package/lib/properties.d.ts +79 -0
  97. package/lib/properties.js +454 -0
  98. package/lib/result-accessors-manager.d.ts +346 -0
  99. package/lib/result-accessors-manager.js +706 -0
  100. package/lib/thumbnail-manager.d.ts +121 -0
  101. package/lib/thumbnail-manager.js +205 -0
  102. package/lib/timestamp.d.ts +54 -0
  103. package/lib/timestamp.js +115 -0
  104. package/lib/tsa-client.d.ts +44 -0
  105. package/lib/tsa-client.js +67 -0
  106. package/lib/types/common.d.ts +189 -0
  107. package/lib/types/common.js +17 -0
  108. package/lib/types/document-types.d.ts +352 -0
  109. package/lib/types/document-types.js +82 -0
  110. package/lib/types/index.d.ts +5 -0
  111. package/lib/types/index.js +5 -0
  112. package/lib/types/manager-types.d.ts +179 -0
  113. package/lib/types/manager-types.js +100 -0
  114. package/lib/types/native-bindings.d.ts +439 -0
  115. package/lib/types/native-bindings.js +7 -0
  116. package/lib/workers/index.d.ts +6 -0
  117. package/lib/workers/index.js +5 -0
  118. package/lib/workers/pool.d.ts +64 -0
  119. package/lib/workers/pool.js +192 -0
  120. package/lib/workers/worker.d.ts +5 -0
  121. package/lib/workers/worker.js +99 -0
  122. package/package.json +79 -0
  123. package/prebuilds/darwin-arm64/pdf_oxide.node +0 -0
  124. package/prebuilds/darwin-x64/pdf_oxide.node +0 -0
  125. package/prebuilds/linux-arm64/pdf_oxide.node +0 -0
  126. package/prebuilds/linux-x64/pdf_oxide.node +0 -0
  127. package/prebuilds/win32-x64/pdf_oxide.node +0 -0
@@ -0,0 +1,346 @@
1
+ /**
2
+ * ResultAccessorsManager for extracting extended properties from PDF operations
3
+ *
4
+ * Provides detailed metadata from search results, fonts, images, and annotations.
5
+ * Enables advanced features like context extraction, font metrics analysis, and annotation tracking.
6
+ * API is consistent with Python, Java, C#, Go, and Swift implementations.
7
+ */
8
+ import { EventEmitter } from 'events';
9
+ /**
10
+ * Extended properties from a search result
11
+ */
12
+ export interface SearchResultProperties {
13
+ context: string;
14
+ lineNumber: number;
15
+ paragraphNumber: number;
16
+ confidence: number;
17
+ isHighlighted: boolean;
18
+ fontInfo: string;
19
+ color: [number, number, number];
20
+ rotation: number;
21
+ objectId: number;
22
+ streamIndex: number;
23
+ }
24
+ /**
25
+ * Extended font metric information
26
+ */
27
+ export interface FontProperties {
28
+ baseFontName: string;
29
+ descriptor: string;
30
+ descendantFont: string;
31
+ toUnicodeCmap: string;
32
+ isVertical: boolean;
33
+ widths: Float32Array;
34
+ ascender: number;
35
+ descender: number;
36
+ }
37
+ /**
38
+ * Extended image metadata
39
+ */
40
+ export interface ImageProperties {
41
+ hasAlphaChannel: boolean;
42
+ iccProfile: Uint8Array;
43
+ filterChain: string;
44
+ decodedData: Uint8Array;
45
+ width: number;
46
+ height: number;
47
+ colorSpace: string;
48
+ }
49
+ /**
50
+ * Extended annotation properties
51
+ */
52
+ export interface AnnotationProperties {
53
+ modifiedDate: number;
54
+ subject: string;
55
+ replyToIndex: number;
56
+ pageNumber: number;
57
+ iconName: string;
58
+ author: string;
59
+ }
60
+ /**
61
+ * Result Accessors Manager for extracting extended properties
62
+ *
63
+ * Provides methods to:
64
+ * - Extract context from search results
65
+ * - Get detailed font metrics
66
+ * - Inspect image metadata and ICC profiles
67
+ * - Track annotation relationships and metadata
68
+ * - Filter and analyze results by properties
69
+ *
70
+ * Matches: Python ResultAccessorsManager, Java ResultAccessorsManager, etc.
71
+ */
72
+ export declare class ResultAccessorsManager extends EventEmitter {
73
+ private document;
74
+ private resultCache;
75
+ private maxCacheSize;
76
+ private native;
77
+ constructor(document: any);
78
+ private setCached;
79
+ /**
80
+ * Gets context text around a search result
81
+ * Includes words before and after the match
82
+ * @param results Search results handle
83
+ * @param index Index of the result
84
+ * @param contextWidth Number of characters for context
85
+ * @returns Context text with highlighted match
86
+ */
87
+ getSearchResultContext(results: any, index: number, contextWidth?: number): Promise<string>;
88
+ /**
89
+ * Gets the line number of a search result
90
+ * @param results Search results handle
91
+ * @param index Index of the result
92
+ * @returns Line number (0-based)
93
+ */
94
+ getSearchResultLineNumber(results: any, index: number): Promise<number>;
95
+ /**
96
+ * Gets the paragraph number of a search result
97
+ * @param results Search results handle
98
+ * @param index Index of the result
99
+ * @returns Paragraph number (0-based)
100
+ */
101
+ getSearchResultParagraphNumber(results: any, index: number): Promise<number>;
102
+ /**
103
+ * Gets the confidence score of a search result
104
+ * Useful for OCR results where confidence varies
105
+ * @param results Search results handle
106
+ * @param index Index of the result
107
+ * @returns Confidence score (0.0 to 1.0)
108
+ */
109
+ getSearchResultConfidence(results: any, index: number): Promise<number>;
110
+ /**
111
+ * Checks if a search result is highlighted in the document
112
+ * @param results Search results handle
113
+ * @param index Index of the result
114
+ * @returns True if the result is highlighted
115
+ */
116
+ isSearchResultHighlighted(results: any, index: number): Promise<boolean>;
117
+ /**
118
+ * Gets font information for a search result
119
+ * Returns JSON with font name, size, family, etc.
120
+ * @param results Search results handle
121
+ * @param index Index of the result
122
+ * @returns Font info as JSON string
123
+ */
124
+ getSearchResultFontInfo(results: any, index: number): Promise<string>;
125
+ /**
126
+ * Gets RGB color of a search result
127
+ * @param results Search results handle
128
+ * @param index Index of the result
129
+ * @returns Color as [R, G, B] array (0-255)
130
+ */
131
+ getSearchResultColor(results: any, index: number): Promise<[number, number, number]>;
132
+ /**
133
+ * Gets the rotation angle of a search result
134
+ * @param results Search results handle
135
+ * @param index Index of the result
136
+ * @returns Rotation in degrees (0, 90, 180, 270)
137
+ */
138
+ getSearchResultRotation(results: any, index: number): Promise<number>;
139
+ /**
140
+ * Gets the object ID of a search result
141
+ * @param results Search results handle
142
+ * @param index Index of the result
143
+ * @returns PDF object ID
144
+ */
145
+ getSearchResultObjectId(results: any, index: number): Promise<number>;
146
+ /**
147
+ * Gets the stream index of a search result
148
+ * @param results Search results handle
149
+ * @param index Index of the result
150
+ * @returns Stream index in the content
151
+ */
152
+ getSearchResultStreamIndex(results: any, index: number): Promise<number>;
153
+ /**
154
+ * Gets all properties of a search result at once
155
+ * More efficient than individual property calls
156
+ * @param results Search results handle
157
+ * @param index Index of the result
158
+ * @returns Object with all properties
159
+ */
160
+ getSearchResultAllProperties(results: any, index: number): Promise<SearchResultProperties>;
161
+ /**
162
+ * Gets the base font name
163
+ * @param fonts Font handle
164
+ * @param index Index of the font
165
+ * @returns Font name (e.g., "Helvetica", "Arial")
166
+ */
167
+ getFontBaseFontName(fonts: any, index: number): Promise<string>;
168
+ /**
169
+ * Gets the font descriptor JSON
170
+ * Contains details about font metrics and characteristics
171
+ * @param fonts Font handle
172
+ * @param index Index of the font
173
+ * @returns Font descriptor as JSON string
174
+ */
175
+ getFontDescriptor(fonts: any, index: number): Promise<string>;
176
+ /**
177
+ * Gets the descendant font name (for composite fonts)
178
+ * @param fonts Font handle
179
+ * @param index Index of the font
180
+ * @returns Descendant font name or empty string
181
+ */
182
+ getFontDescendantFont(fonts: any, index: number): Promise<string>;
183
+ /**
184
+ * Gets the ToUnicode CMap for character to Unicode mapping
185
+ * @param fonts Font handle
186
+ * @param index Index of the font
187
+ * @returns ToUnicode CMap as string
188
+ */
189
+ getFontToUnicodeCmap(fonts: any, index: number): Promise<string>;
190
+ /**
191
+ * Checks if font is vertical (top-to-bottom layout)
192
+ * @param fonts Font handle
193
+ * @param index Index of the font
194
+ * @returns True if font is vertical
195
+ */
196
+ isFontVertical(fonts: any, index: number): Promise<boolean>;
197
+ /**
198
+ * Gets character widths for the font
199
+ * @param fonts Font handle
200
+ * @param index Index of the font
201
+ * @returns Array of character widths
202
+ */
203
+ getFontWidths(fonts: any, index: number): Promise<Float32Array>;
204
+ /**
205
+ * Gets the ascender metric (height above baseline)
206
+ * @param fonts Font handle
207
+ * @param index Index of the font
208
+ * @returns Ascender value in font units
209
+ */
210
+ getFontAscender(fonts: any, index: number): Promise<number>;
211
+ /**
212
+ * Gets the descender metric (depth below baseline)
213
+ * @param fonts Font handle
214
+ * @param index Index of the font
215
+ * @returns Descender value in font units (usually negative)
216
+ */
217
+ getFontDescender(fonts: any, index: number): Promise<number>;
218
+ /**
219
+ * Gets all font properties at once
220
+ * More efficient than individual property calls
221
+ * @param fonts Font handle
222
+ * @param index Index of the font
223
+ * @returns Object with all font properties
224
+ */
225
+ getFontAllProperties(fonts: any, index: number): Promise<FontProperties>;
226
+ /**
227
+ * Checks if image has an alpha channel
228
+ * @param images Image handle
229
+ * @param index Index of the image
230
+ * @returns True if alpha channel is present
231
+ */
232
+ hasImageAlphaChannel(images: any, index: number): Promise<boolean>;
233
+ /**
234
+ * Gets the ICC color profile
235
+ * @param images Image handle
236
+ * @param index Index of the image
237
+ * @returns ICC profile as binary data
238
+ */
239
+ getImageIccProfile(images: any, index: number): Promise<Uint8Array>;
240
+ /**
241
+ * Gets the filter chain applied to the image
242
+ * (e.g., ["FlateDecode", "DCTDecode"])
243
+ * @param images Image handle
244
+ * @param index Index of the image
245
+ * @returns Filter chain as JSON string
246
+ */
247
+ getImageFilterChain(images: any, index: number): Promise<string>;
248
+ /**
249
+ * Gets the decoded image data
250
+ * @param images Image handle
251
+ * @param index Index of the image
252
+ * @returns Decoded image data as binary
253
+ */
254
+ getImageDecodedData(images: any, index: number): Promise<Uint8Array>;
255
+ /**
256
+ * Gets the image width in pixels
257
+ * @param images Image handle
258
+ * @param index Index of the image
259
+ * @returns Width in pixels
260
+ */
261
+ getImageWidth(images: any, index: number): Promise<number>;
262
+ /**
263
+ * Gets the image height in pixels
264
+ * @param images Image handle
265
+ * @param index Index of the image
266
+ * @returns Height in pixels
267
+ */
268
+ getImageHeight(images: any, index: number): Promise<number>;
269
+ /**
270
+ * Gets the color space of the image
271
+ * @param images Image handle
272
+ * @param index Index of the image
273
+ * @returns Color space name (e.g., "RGB", "CMYK", "Gray")
274
+ */
275
+ getImageColorSpace(images: any, index: number): Promise<string>;
276
+ /**
277
+ * Gets all image properties at once
278
+ * More efficient than individual property calls
279
+ * @param images Image handle
280
+ * @param index Index of the image
281
+ * @returns Object with all image properties
282
+ */
283
+ getImageAllProperties(images: any, index: number): Promise<ImageProperties>;
284
+ /**
285
+ * Gets the modified date of an annotation
286
+ * @param annotations Annotation handle
287
+ * @param index Index of the annotation
288
+ * @returns Timestamp in milliseconds
289
+ */
290
+ getAnnotationModifiedDate(annotations: any, index: number): Promise<number>;
291
+ /**
292
+ * Gets the subject/title of an annotation
293
+ * @param annotations Annotation handle
294
+ * @param index Index of the annotation
295
+ * @returns Subject text
296
+ */
297
+ getAnnotationSubject(annotations: any, index: number): Promise<string>;
298
+ /**
299
+ * Gets the index of the annotation this is replying to
300
+ * @param annotations Annotation handle
301
+ * @param index Index of the annotation
302
+ * @returns Index of parent annotation, or -1 if not a reply
303
+ */
304
+ getAnnotationReplyToIndex(annotations: any, index: number): Promise<number>;
305
+ /**
306
+ * Gets the page number where annotation appears
307
+ * @param annotations Annotation handle
308
+ * @param index Index of the annotation
309
+ * @returns Page number (0-based)
310
+ */
311
+ getAnnotationPageNumber(annotations: any, index: number): Promise<number>;
312
+ /**
313
+ * Gets the icon name for the annotation
314
+ * (e.g., "Comment", "Note", "Help")
315
+ * @param annotations Annotation handle
316
+ * @param index Index of the annotation
317
+ * @returns Icon name
318
+ */
319
+ getAnnotationIconName(annotations: any, index: number): Promise<string>;
320
+ /**
321
+ * Gets the author/creator of the annotation
322
+ * @param annotations Annotation handle
323
+ * @param index Index of the annotation
324
+ * @returns Author name
325
+ */
326
+ getAnnotationAuthor(annotations: any, index: number): Promise<string>;
327
+ /**
328
+ * Gets all annotation properties at once
329
+ * More efficient than individual property calls
330
+ * @param annotations Annotation handle
331
+ * @param index Index of the annotation
332
+ * @returns Object with all annotation properties
333
+ */
334
+ getAnnotationAllProperties(annotations: any, index: number): Promise<AnnotationProperties>;
335
+ /**
336
+ * Clears the result cache
337
+ */
338
+ clearCache(): void;
339
+ /**
340
+ * Gets cache statistics
341
+ * @returns Object with cache information
342
+ */
343
+ getCacheStats(): Record<string, any>;
344
+ private clearCachePattern;
345
+ }
346
+ export default ResultAccessorsManager;