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,299 @@
1
+ /**
2
+ * FormFieldManager for form field operations
3
+ *
4
+ * Manages form fields in PDF documents including retrieval, modification, and flattening.
5
+ * API is consistent with Python, Java, C#, Go, and Swift implementations.
6
+ */
7
+ import { EventEmitter } from 'events';
8
+ /**
9
+ * Types of form fields
10
+ */
11
+ export declare enum FormFieldType {
12
+ Text = "Text",
13
+ CheckBox = "CheckBox",
14
+ RadioButton = "RadioButton",
15
+ ComboBox = "ComboBox",
16
+ ListBox = "ListBox",
17
+ Button = "Button",
18
+ Signature = "Signature",
19
+ TextArea = "TextArea"
20
+ }
21
+ /**
22
+ * Field visibility options
23
+ */
24
+ export declare enum FieldVisibility {
25
+ Visible = "Visible",
26
+ Hidden = "Hidden",
27
+ PrintOnly = "PrintOnly",
28
+ NoView = "NoView"
29
+ }
30
+ /**
31
+ * Form field information
32
+ */
33
+ export interface FormField {
34
+ fieldName: string;
35
+ fieldType: FormFieldType;
36
+ pageIndex?: number;
37
+ isRequired: boolean;
38
+ isReadOnly: boolean;
39
+ visibility: FieldVisibility;
40
+ defaultValue?: string;
41
+ currentValue?: string;
42
+ toolTip?: string;
43
+ }
44
+ /**
45
+ * Configuration for form field creation
46
+ */
47
+ export interface FormFieldConfig {
48
+ fieldName: string;
49
+ fieldType?: FormFieldType;
50
+ pageIndex?: number;
51
+ x?: number;
52
+ y?: number;
53
+ width?: number;
54
+ height?: number;
55
+ isRequired?: boolean;
56
+ defaultValue?: string;
57
+ }
58
+ /**
59
+ * Form Field Manager for form operations
60
+ *
61
+ * Provides methods to:
62
+ * - Retrieve form field information
63
+ * - Get and set field values
64
+ * - Create new form fields
65
+ * - Manage field properties
66
+ * - Flatten forms
67
+ */
68
+ export declare class FormFieldManager extends EventEmitter {
69
+ private document;
70
+ private resultCache;
71
+ private maxCacheSize;
72
+ constructor(document: any);
73
+ /**
74
+ * Gets all form fields in the document
75
+ * Matches: Python getAllFields(), Java getAllFields(), C# GetAllFields()
76
+ */
77
+ getAllFields(): Promise<FormField[]>;
78
+ /**
79
+ * Gets a specific form field by name
80
+ * Matches: Python getField(), Java getField(), C# GetField()
81
+ */
82
+ getField(fieldName: string): Promise<FormField | undefined>;
83
+ /**
84
+ * Gets fields of a specific type
85
+ * Matches: Python getFieldsOfType(), Java getFieldsOfType(), C# GetFieldsOfType()
86
+ */
87
+ getFieldsOfType(fieldType: FormFieldType): Promise<FormField[]>;
88
+ /**
89
+ * Gets the value of a form field
90
+ * Matches: Python getFieldValue(), Java getFieldValue(), C# GetFieldValue()
91
+ */
92
+ getFieldValue(fieldName: string): Promise<string | undefined>;
93
+ /**
94
+ * Sets the value of a form field
95
+ * Matches: Python setFieldValue(), Java setFieldValue(), C# SetFieldValue()
96
+ */
97
+ setFieldValue(fieldName: string, value: string): Promise<void>;
98
+ /**
99
+ * Gets field count
100
+ * Matches: Python getFieldCount(), Java getFieldCount(), C# GetFieldCount()
101
+ */
102
+ getFieldCount(): Promise<number>;
103
+ /**
104
+ * Checks if form has fields
105
+ * Matches: Python hasForm(), Java hasForm(), C# HasForm()
106
+ */
107
+ hasForm(): Promise<boolean>;
108
+ /**
109
+ * Creates a new form field
110
+ * Matches: Python createField(), Java createField(), C# CreateField()
111
+ */
112
+ createField(config: FormFieldConfig): Promise<void>;
113
+ /**
114
+ * Removes a form field
115
+ * Matches: Python removeField(), Java removeField(), C# RemoveField()
116
+ */
117
+ removeField(fieldName: string): Promise<void>;
118
+ /**
119
+ * Flattens form fields (convert to content)
120
+ * Matches: Python flattenForm(), Java flattenForm(), C# FlattenForm()
121
+ */
122
+ flattenForm(): Promise<void>;
123
+ /**
124
+ * Resets all form fields to defaults
125
+ * Matches: Python resetForm(), Java resetForm(), C# ResetForm()
126
+ */
127
+ resetForm(): Promise<void>;
128
+ /**
129
+ * Clears the result cache
130
+ * Matches: Python clearCache(), Java clearCache(), C# ClearCache()
131
+ */
132
+ clearCache(): void;
133
+ /**
134
+ * Gets cache statistics
135
+ * Matches: Python getCacheStats(), Java getCacheStats(), C# GetCacheStats()
136
+ */
137
+ getCacheStats(): Record<string, any>;
138
+ /**
139
+ * Gets the AcroForm handle from the document
140
+ * Provides access to lower-level form operations
141
+ * @returns AcroForm handle
142
+ */
143
+ getFormAcroform(): Promise<any>;
144
+ /**
145
+ * Exports form data to a file
146
+ * Supports FDF (0), XFDF (1), and JSON (2) formats
147
+ * @param filename Path to output file
148
+ * @param format Format type (0=FDF, 1=XFDF, 2=JSON)
149
+ * @returns Number of fields exported
150
+ */
151
+ exportFormData(filename: string, format?: number): Promise<number>;
152
+ /**
153
+ * Exports form data to bytes in memory
154
+ * Supports FDF (0), XFDF (1), and JSON (2) formats
155
+ * @param format Format type (0=FDF, 1=XFDF, 2=JSON)
156
+ * @returns Form data as byte array
157
+ */
158
+ exportFormDataBytes(format?: number): Promise<Uint8Array>;
159
+ /**
160
+ * Imports form data from a file
161
+ * Supports FDF, XFDF, and JSON formats (auto-detected)
162
+ * @param filename Path to form data file
163
+ * @returns Number of fields updated
164
+ */
165
+ importFormData(filename: string): Promise<number>;
166
+ /**
167
+ * Resets all form fields to their default values
168
+ * @returns Number of fields reset
169
+ */
170
+ resetAllFields(): Promise<number>;
171
+ /**
172
+ * Gets the default value of a form field
173
+ * @param fieldName Name of the field
174
+ * @returns Default value or empty string
175
+ */
176
+ getFieldDefaultValue(fieldName: string): Promise<string>;
177
+ /**
178
+ * Sets the default value of a form field
179
+ * @param fieldName Name of the field
180
+ * @param value New default value
181
+ */
182
+ setFieldDefaultValue(fieldName: string, value: string): Promise<void>;
183
+ /**
184
+ * Gets the flags of a form field (combination of bit flags)
185
+ * @param fieldName Name of the field
186
+ * @returns Field flags as integer
187
+ */
188
+ getFieldFlags(fieldName: string): Promise<number>;
189
+ /**
190
+ * Sets the flags of a form field
191
+ * Flags control field properties like readonly, required, etc.
192
+ * @param fieldName Name of the field
193
+ * @param flags New flags value
194
+ */
195
+ setFieldFlags(fieldName: string, flags: number): Promise<void>;
196
+ /**
197
+ * Gets the tooltip text for a form field
198
+ * @param fieldName Name of the field
199
+ * @returns Tooltip text or empty string
200
+ */
201
+ getFieldTooltip(fieldName: string): Promise<string>;
202
+ /**
203
+ * Sets the tooltip text for a form field
204
+ * @param fieldName Name of the field
205
+ * @param tooltip New tooltip text
206
+ */
207
+ setFieldTooltip(fieldName: string, tooltip: string): Promise<void>;
208
+ /**
209
+ * Gets the alternate name (UI name) for a form field
210
+ * @param fieldName Name of the field
211
+ * @returns Alternate name or empty string
212
+ */
213
+ getFieldAlternateName(fieldName: string): Promise<string>;
214
+ /**
215
+ * Sets the alternate name (UI name) for a form field
216
+ * @param fieldName Name of the field
217
+ * @param alternateName New alternate name
218
+ */
219
+ setFieldAlternateName(fieldName: string, alternateName: string): Promise<void>;
220
+ /**
221
+ * Checks if a form field is read-only
222
+ * @param fieldName Name of the field
223
+ * @returns True if field is read-only
224
+ */
225
+ isFieldReadonly(fieldName: string): Promise<boolean>;
226
+ /**
227
+ * Sets the read-only status of a form field
228
+ * @param fieldName Name of the field
229
+ * @param readonly True to make field read-only
230
+ */
231
+ setFieldReadonly(fieldName: string, readonly: boolean): Promise<void>;
232
+ /**
233
+ * Checks if a form field is required
234
+ * @param fieldName Name of the field
235
+ * @returns True if field is required
236
+ */
237
+ isFieldRequired(fieldName: string): Promise<boolean>;
238
+ /**
239
+ * Sets the required status of a form field
240
+ * @param fieldName Name of the field
241
+ * @param required True to make field required
242
+ */
243
+ setFieldRequired(fieldName: string, required: boolean): Promise<void>;
244
+ /**
245
+ * Gets the background color of a form field
246
+ * @param fieldName Name of the field
247
+ * @returns Color as [R, G, B] array (0-255) or null if no color
248
+ */
249
+ getFieldBackgroundColor(fieldName: string): Promise<[number, number, number] | null>;
250
+ /**
251
+ * Sets the background color of a form field
252
+ * @param fieldName Name of the field
253
+ * @param red Red component (0-255)
254
+ * @param green Green component (0-255)
255
+ * @param blue Blue component (0-255)
256
+ */
257
+ setFieldBackgroundColor(fieldName: string, red: number, green: number, blue: number): Promise<void>;
258
+ /**
259
+ * Gets the text color of a form field
260
+ * @param fieldName Name of the field
261
+ * @returns Color as [R, G, B] array (0-255) or null if no color
262
+ */
263
+ getFieldTextColor(fieldName: string): Promise<[number, number, number] | null>;
264
+ /**
265
+ * Sets the text color of a form field
266
+ * @param fieldName Name of the field
267
+ * @param red Red component (0-255)
268
+ * @param green Green component (0-255)
269
+ * @param blue Blue component (0-255)
270
+ */
271
+ setFieldTextColor(fieldName: string, red: number, green: number, blue: number): Promise<void>;
272
+ /**
273
+ * Validates a form field
274
+ * Checks field consistency and compliance
275
+ * @param fieldName Name of the field
276
+ * @returns True if field is valid
277
+ */
278
+ validateField(fieldName: string): Promise<boolean>;
279
+ /**
280
+ * Gets form statistics
281
+ * @returns Object with form statistics
282
+ */
283
+ getFormStatistics(): Promise<Record<string, number>>;
284
+ /**
285
+ * Batch sets multiple field values
286
+ * @param values Map of field names to values
287
+ * @returns Number of fields updated
288
+ */
289
+ batchSetValues(values: Record<string, string>): Promise<number>;
290
+ /**
291
+ * Batch gets multiple field values
292
+ * @param fieldNames Array of field names
293
+ * @returns Map of field names to values
294
+ */
295
+ getBatchValues(fieldNames: string[]): Promise<Record<string, string>>;
296
+ private setCached;
297
+ private clearCachePattern;
298
+ }
299
+ export default FormFieldManager;