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.
- package/LICENSE-APACHE +176 -0
- package/LICENSE-MIT +25 -0
- package/README.md +218 -0
- package/lib/builders/annotation-builder.d.ts +198 -0
- package/lib/builders/annotation-builder.js +317 -0
- package/lib/builders/conversion-options-builder.d.ts +106 -0
- package/lib/builders/conversion-options-builder.js +214 -0
- package/lib/builders/document-builder.d.ts +381 -0
- package/lib/builders/document-builder.js +770 -0
- package/lib/builders/index.d.ts +13 -0
- package/lib/builders/index.js +13 -0
- package/lib/builders/metadata-builder.d.ts +201 -0
- package/lib/builders/metadata-builder.js +285 -0
- package/lib/builders/pdf-builder.d.ts +216 -0
- package/lib/builders/pdf-builder.js +350 -0
- package/lib/builders/search-options-builder.d.ts +73 -0
- package/lib/builders/search-options-builder.js +129 -0
- package/lib/builders/streaming-table.d.ts +64 -0
- package/lib/builders/streaming-table.js +140 -0
- package/lib/document-editor-manager.d.ts +139 -0
- package/lib/document-editor-manager.js +256 -0
- package/lib/document-editor.d.ts +124 -0
- package/lib/document-editor.js +318 -0
- package/lib/errors.d.ts +382 -0
- package/lib/errors.js +1115 -0
- package/lib/form-field-manager.d.ts +299 -0
- package/lib/form-field-manager.js +568 -0
- package/lib/hybrid-ml-manager.d.ts +142 -0
- package/lib/hybrid-ml-manager.js +208 -0
- package/lib/index.d.ts +205 -0
- package/lib/index.js +693 -0
- package/lib/managers/accessibility-manager.d.ts +148 -0
- package/lib/managers/accessibility-manager.js +234 -0
- package/lib/managers/annotation-manager.d.ts +219 -0
- package/lib/managers/annotation-manager.js +359 -0
- package/lib/managers/barcode-manager.d.ts +82 -0
- package/lib/managers/barcode-manager.js +263 -0
- package/lib/managers/batch-manager.d.ts +185 -0
- package/lib/managers/batch-manager.js +385 -0
- package/lib/managers/cache-manager.d.ts +181 -0
- package/lib/managers/cache-manager.js +384 -0
- package/lib/managers/compliance-manager.d.ts +103 -0
- package/lib/managers/compliance-manager.js +453 -0
- package/lib/managers/content-manager.d.ts +120 -0
- package/lib/managers/content-manager.js +294 -0
- package/lib/managers/document-utility-manager.d.ts +369 -0
- package/lib/managers/document-utility-manager.js +730 -0
- package/lib/managers/dom-pdf-creator.d.ts +104 -0
- package/lib/managers/dom-pdf-creator.js +299 -0
- package/lib/managers/editing-manager.d.ts +248 -0
- package/lib/managers/editing-manager.js +387 -0
- package/lib/managers/enterprise-manager.d.ts +192 -0
- package/lib/managers/enterprise-manager.js +307 -0
- package/lib/managers/extended-managers.d.ts +122 -0
- package/lib/managers/extended-managers.js +664 -0
- package/lib/managers/extraction-manager.d.ts +246 -0
- package/lib/managers/extraction-manager.js +482 -0
- package/lib/managers/final-utilities.d.ts +127 -0
- package/lib/managers/final-utilities.js +657 -0
- package/lib/managers/hybrid-ml-advanced.d.ts +136 -0
- package/lib/managers/hybrid-ml-advanced.js +722 -0
- package/lib/managers/index.d.ts +64 -0
- package/lib/managers/index.js +69 -0
- package/lib/managers/layer-manager.d.ts +203 -0
- package/lib/managers/layer-manager.js +401 -0
- package/lib/managers/metadata-manager.d.ts +148 -0
- package/lib/managers/metadata-manager.js +280 -0
- package/lib/managers/ocr-manager.d.ts +194 -0
- package/lib/managers/ocr-manager.js +582 -0
- package/lib/managers/optimization-manager.d.ts +102 -0
- package/lib/managers/optimization-manager.js +213 -0
- package/lib/managers/outline-manager.d.ts +101 -0
- package/lib/managers/outline-manager.js +169 -0
- package/lib/managers/page-manager.d.ts +142 -0
- package/lib/managers/page-manager.js +235 -0
- package/lib/managers/pattern-detection.d.ts +169 -0
- package/lib/managers/pattern-detection.js +322 -0
- package/lib/managers/rendering-manager.d.ts +353 -0
- package/lib/managers/rendering-manager.js +679 -0
- package/lib/managers/search-manager.d.ts +235 -0
- package/lib/managers/search-manager.js +329 -0
- package/lib/managers/security-manager.d.ts +161 -0
- package/lib/managers/security-manager.js +292 -0
- package/lib/managers/signature-manager.d.ts +738 -0
- package/lib/managers/signature-manager.js +1509 -0
- package/lib/managers/streams.d.ts +262 -0
- package/lib/managers/streams.js +477 -0
- package/lib/managers/xfa-manager.d.ts +227 -0
- package/lib/managers/xfa-manager.js +539 -0
- package/lib/native-loader.d.ts +7 -0
- package/lib/native-loader.js +62 -0
- package/lib/native.d.ts +16 -0
- package/lib/native.js +69 -0
- package/lib/pdf-creator-manager.d.ts +200 -0
- package/lib/pdf-creator-manager.js +381 -0
- package/lib/properties.d.ts +79 -0
- package/lib/properties.js +454 -0
- package/lib/result-accessors-manager.d.ts +346 -0
- package/lib/result-accessors-manager.js +706 -0
- package/lib/thumbnail-manager.d.ts +121 -0
- package/lib/thumbnail-manager.js +205 -0
- package/lib/timestamp.d.ts +54 -0
- package/lib/timestamp.js +115 -0
- package/lib/tsa-client.d.ts +44 -0
- package/lib/tsa-client.js +67 -0
- package/lib/types/common.d.ts +189 -0
- package/lib/types/common.js +17 -0
- package/lib/types/document-types.d.ts +352 -0
- package/lib/types/document-types.js +82 -0
- package/lib/types/index.d.ts +5 -0
- package/lib/types/index.js +5 -0
- package/lib/types/manager-types.d.ts +179 -0
- package/lib/types/manager-types.js +100 -0
- package/lib/types/native-bindings.d.ts +439 -0
- package/lib/types/native-bindings.js +7 -0
- package/lib/workers/index.d.ts +6 -0
- package/lib/workers/index.js +5 -0
- package/lib/workers/pool.d.ts +64 -0
- package/lib/workers/pool.js +192 -0
- package/lib/workers/worker.d.ts +5 -0
- package/lib/workers/worker.js +99 -0
- package/package.json +79 -0
- package/prebuilds/darwin-arm64/pdf_oxide.node +0 -0
- package/prebuilds/darwin-x64/pdf_oxide.node +0 -0
- package/prebuilds/linux-arm64/pdf_oxide.node +0 -0
- package/prebuilds/linux-x64/pdf_oxide.node +0 -0
- package/prebuilds/win32-x64/pdf_oxide.node +0 -0
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stream API support for PDF Oxide Node.js
|
|
3
|
+
*
|
|
4
|
+
* Provides Readable streams for search results, text extraction, and page metadata.
|
|
5
|
+
* Supports backpressure handling and proper Node.js stream semantics.
|
|
6
|
+
*
|
|
7
|
+
* Phase 2.4 implementation for idiomatic Node.js patterns with Stream API.
|
|
8
|
+
*/
|
|
9
|
+
import { Readable } from 'node:stream';
|
|
10
|
+
/**
|
|
11
|
+
* SearchResult emitted by SearchStream
|
|
12
|
+
*/
|
|
13
|
+
export interface SearchResultData {
|
|
14
|
+
text?: string;
|
|
15
|
+
pageIndex?: number;
|
|
16
|
+
position?: number;
|
|
17
|
+
boundingBox?: Record<string, number>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* ExtractionProgress emitted by ExtractionStream
|
|
21
|
+
*/
|
|
22
|
+
export interface ExtractionProgressData {
|
|
23
|
+
pageIndex: number;
|
|
24
|
+
totalPages: number;
|
|
25
|
+
extractedText: string;
|
|
26
|
+
extractionType: 'text' | 'markdown' | 'html';
|
|
27
|
+
progress: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* PageMetadata emitted by MetadataStream
|
|
31
|
+
*/
|
|
32
|
+
export interface PageMetadataData {
|
|
33
|
+
pageIndex: number;
|
|
34
|
+
width: number;
|
|
35
|
+
height: number;
|
|
36
|
+
fontCount: number;
|
|
37
|
+
imageCount: number;
|
|
38
|
+
rotation: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Readable stream for search results
|
|
42
|
+
*
|
|
43
|
+
* Emits search results one at a time with proper backpressure handling.
|
|
44
|
+
* Supports searching either a specific page or the entire document.
|
|
45
|
+
*
|
|
46
|
+
* Supports both traditional stream API (.on('data')) and async iteration (for await...of).
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* // Traditional stream API
|
|
51
|
+
* const stream = new SearchStream(searchManager, 'keyword');
|
|
52
|
+
* stream.on('data', (result) => {
|
|
53
|
+
* console.log(`Found on page ${result.pageIndex}: ${result.text}`);
|
|
54
|
+
* });
|
|
55
|
+
*
|
|
56
|
+
* // Async iteration
|
|
57
|
+
* const stream = new SearchStream(searchManager, 'keyword');
|
|
58
|
+
* for await (const result of stream) {
|
|
59
|
+
* console.log(`Found on page ${result.pageIndex}: ${result.text}`);
|
|
60
|
+
* }
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare class SearchStream extends Readable {
|
|
64
|
+
private searchManager;
|
|
65
|
+
private searchTerm;
|
|
66
|
+
private options;
|
|
67
|
+
private pageIndex;
|
|
68
|
+
private caseSensitive;
|
|
69
|
+
private wholeWords;
|
|
70
|
+
private maxResults;
|
|
71
|
+
private _results;
|
|
72
|
+
private _currentIndex;
|
|
73
|
+
private _resultCount;
|
|
74
|
+
private _initialized;
|
|
75
|
+
private _ended;
|
|
76
|
+
/**
|
|
77
|
+
* Creates a new SearchStream
|
|
78
|
+
* @param searchManager - The search manager instance
|
|
79
|
+
* @param searchTerm - Text to search for
|
|
80
|
+
* @param options - Search options
|
|
81
|
+
* @throws Error if parameters are invalid
|
|
82
|
+
*/
|
|
83
|
+
constructor(searchManager: any, searchTerm: string, options?: Record<string, any>);
|
|
84
|
+
/**
|
|
85
|
+
* Initialize results (lazy initialization)
|
|
86
|
+
* @private
|
|
87
|
+
*/
|
|
88
|
+
private _initialize;
|
|
89
|
+
/**
|
|
90
|
+
* Implement _read() for readable stream
|
|
91
|
+
* @private
|
|
92
|
+
*/
|
|
93
|
+
_read(): void;
|
|
94
|
+
/**
|
|
95
|
+
* Implement async iteration protocol for `for await...of` support
|
|
96
|
+
* @returns AsyncIterator for iterating over search results
|
|
97
|
+
*/
|
|
98
|
+
[Symbol.asyncIterator](): AsyncGenerator<SearchResultData, undefined, unknown>;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Readable stream for text extraction with progress tracking
|
|
102
|
+
*
|
|
103
|
+
* Emits extraction progress for each page with progress percentage.
|
|
104
|
+
* Supports multiple extraction formats: text, markdown, html.
|
|
105
|
+
* Supports both traditional stream API and async iteration.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```typescript
|
|
109
|
+
* // Traditional stream API
|
|
110
|
+
* const stream = new ExtractionStream(extractionManager, 0, 10, 'markdown');
|
|
111
|
+
* stream.on('data', (progress) => {
|
|
112
|
+
* console.log(`Progress: ${Math.round(progress.progress * 100)}%`);
|
|
113
|
+
* console.log(`Page ${progress.pageIndex + 1}: ${progress.extractedText.length} chars`);
|
|
114
|
+
* });
|
|
115
|
+
*
|
|
116
|
+
* // Async iteration
|
|
117
|
+
* const stream = new ExtractionStream(extractionManager, 0, 10, 'markdown');
|
|
118
|
+
* for await (const progress of stream) {
|
|
119
|
+
* console.log(`Progress: ${Math.round(progress.progress * 100)}%`);
|
|
120
|
+
* }
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
export declare class ExtractionStream extends Readable {
|
|
124
|
+
private extractionManager;
|
|
125
|
+
private startPage;
|
|
126
|
+
private endPage;
|
|
127
|
+
private extractionType;
|
|
128
|
+
private options;
|
|
129
|
+
private _currentPage;
|
|
130
|
+
private _totalPages;
|
|
131
|
+
private _ended;
|
|
132
|
+
/**
|
|
133
|
+
* Creates a new ExtractionStream
|
|
134
|
+
* @param extractionManager - The extraction manager instance
|
|
135
|
+
* @param startPage - Starting page index (inclusive)
|
|
136
|
+
* @param endPage - Ending page index (exclusive)
|
|
137
|
+
* @param extractionType - 'text', 'markdown', or 'html'
|
|
138
|
+
* @param options - Additional extraction options
|
|
139
|
+
* @throws Error if parameters are invalid
|
|
140
|
+
*/
|
|
141
|
+
constructor(extractionManager: any, startPage: number, endPage: number, extractionType?: 'text' | 'markdown' | 'html', options?: Record<string, any>);
|
|
142
|
+
/**
|
|
143
|
+
* Implement _read() for readable stream
|
|
144
|
+
* @private
|
|
145
|
+
*/
|
|
146
|
+
_read(): void;
|
|
147
|
+
/**
|
|
148
|
+
* Implement async iteration protocol for `for await...of` support
|
|
149
|
+
* @returns AsyncGenerator for iterating over extraction progress
|
|
150
|
+
*/
|
|
151
|
+
[Symbol.asyncIterator](): AsyncGenerator<ExtractionProgressData, undefined, unknown>;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Readable stream for page metadata retrieval
|
|
155
|
+
*
|
|
156
|
+
* Emits page metadata (dimensions, fonts, images) for each page in range.
|
|
157
|
+
* Supports lazy loading of metadata per page.
|
|
158
|
+
* Supports both traditional stream API and async iteration.
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```typescript
|
|
162
|
+
* // Traditional stream API
|
|
163
|
+
* const stream = new MetadataStream(renderingManager, 0, 10);
|
|
164
|
+
* stream.on('data', (metadata) => {
|
|
165
|
+
* console.log(`Page ${metadata.pageIndex + 1}: ${metadata.width}x${metadata.height}`);
|
|
166
|
+
* console.log(` Fonts: ${metadata.fontCount}, Images: ${metadata.imageCount}`);
|
|
167
|
+
* });
|
|
168
|
+
*
|
|
169
|
+
* // Async iteration
|
|
170
|
+
* const stream = new MetadataStream(renderingManager, 0, 10);
|
|
171
|
+
* for await (const metadata of stream) {
|
|
172
|
+
* console.log(`Page ${metadata.pageIndex + 1}: ${metadata.width}x${metadata.height}`);
|
|
173
|
+
* }
|
|
174
|
+
* ```
|
|
175
|
+
*/
|
|
176
|
+
export declare class MetadataStream extends Readable {
|
|
177
|
+
private renderingManager;
|
|
178
|
+
private startPage;
|
|
179
|
+
private endPage;
|
|
180
|
+
private _currentPage;
|
|
181
|
+
private _ended;
|
|
182
|
+
/**
|
|
183
|
+
* Creates a new MetadataStream
|
|
184
|
+
* @param renderingManager - The rendering manager instance
|
|
185
|
+
* @param startPage - Starting page index (inclusive)
|
|
186
|
+
* @param endPage - Ending page index (exclusive)
|
|
187
|
+
* @throws Error if parameters are invalid
|
|
188
|
+
*/
|
|
189
|
+
constructor(renderingManager: any, startPage: number, endPage: number);
|
|
190
|
+
/**
|
|
191
|
+
* Implement _read() for readable stream
|
|
192
|
+
* @private
|
|
193
|
+
*/
|
|
194
|
+
_read(): void;
|
|
195
|
+
/**
|
|
196
|
+
* Implement async iteration protocol for `for await...of` support
|
|
197
|
+
* @returns AsyncGenerator for iterating over page metadata
|
|
198
|
+
*/
|
|
199
|
+
[Symbol.asyncIterator](): AsyncGenerator<PageMetadataData, undefined, unknown>;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Creates a readable stream for search results
|
|
203
|
+
*
|
|
204
|
+
* Convenience function to create a SearchStream instance.
|
|
205
|
+
*
|
|
206
|
+
* @param searchManager - The search manager
|
|
207
|
+
* @param searchTerm - Text to search for
|
|
208
|
+
* @param options - Search options
|
|
209
|
+
* @returns A readable stream of search results
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* ```typescript
|
|
213
|
+
* createSearchStream(manager, 'error')
|
|
214
|
+
* .pipe(through2.obj((result, enc, cb) => {
|
|
215
|
+
* console.log(`Found: ${result.text}`);
|
|
216
|
+
* cb();
|
|
217
|
+
* }));
|
|
218
|
+
* ```
|
|
219
|
+
*/
|
|
220
|
+
export declare function createSearchStream(searchManager: any, searchTerm: string, options?: Record<string, any>): SearchStream;
|
|
221
|
+
/**
|
|
222
|
+
* Creates a readable stream for extraction with progress
|
|
223
|
+
*
|
|
224
|
+
* Convenience function to create an ExtractionStream instance.
|
|
225
|
+
*
|
|
226
|
+
* @param extractionManager - The extraction manager
|
|
227
|
+
* @param startPage - Starting page index
|
|
228
|
+
* @param endPage - Ending page index
|
|
229
|
+
* @param extractionType - Extraction format
|
|
230
|
+
* @param options - Additional options
|
|
231
|
+
* @returns A readable stream of extraction progress
|
|
232
|
+
*
|
|
233
|
+
* @example
|
|
234
|
+
* ```typescript
|
|
235
|
+
* createExtractionStream(manager, 0, 10, 'markdown')
|
|
236
|
+
* .pipe(through2.obj((progress, enc, cb) => {
|
|
237
|
+
* console.log(`${Math.round(progress.progress * 100)}% complete`);
|
|
238
|
+
* cb();
|
|
239
|
+
* }));
|
|
240
|
+
* ```
|
|
241
|
+
*/
|
|
242
|
+
export declare function createExtractionStream(extractionManager: any, startPage: number, endPage: number, extractionType?: 'text' | 'markdown' | 'html', options?: Record<string, any>): ExtractionStream;
|
|
243
|
+
/**
|
|
244
|
+
* Creates a readable stream for page metadata
|
|
245
|
+
*
|
|
246
|
+
* Convenience function to create a MetadataStream instance.
|
|
247
|
+
*
|
|
248
|
+
* @param renderingManager - The rendering manager
|
|
249
|
+
* @param startPage - Starting page index
|
|
250
|
+
* @param endPage - Ending page index
|
|
251
|
+
* @returns A readable stream of page metadata
|
|
252
|
+
*
|
|
253
|
+
* @example
|
|
254
|
+
* ```typescript
|
|
255
|
+
* createMetadataStream(manager, 0, 10)
|
|
256
|
+
* .pipe(through2.obj((metadata, enc, cb) => {
|
|
257
|
+
* console.log(`Page ${metadata.pageIndex}: ${metadata.width}x${metadata.height}`);
|
|
258
|
+
* cb();
|
|
259
|
+
* }));
|
|
260
|
+
* ```
|
|
261
|
+
*/
|
|
262
|
+
export declare function createMetadataStream(renderingManager: any, startPage: number, endPage: number): MetadataStream;
|