@lexmata/micropdf 0.4.0

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 (170) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +985 -0
  3. package/binding.gyp +73 -0
  4. package/dist/annot.d.ts +458 -0
  5. package/dist/annot.d.ts.map +1 -0
  6. package/dist/annot.js +697 -0
  7. package/dist/annot.js.map +1 -0
  8. package/dist/archive.d.ts +128 -0
  9. package/dist/archive.d.ts.map +1 -0
  10. package/dist/archive.js +268 -0
  11. package/dist/archive.js.map +1 -0
  12. package/dist/buffer.d.ts +572 -0
  13. package/dist/buffer.d.ts.map +1 -0
  14. package/dist/buffer.js +971 -0
  15. package/dist/buffer.js.map +1 -0
  16. package/dist/colorspace.d.ts +287 -0
  17. package/dist/colorspace.d.ts.map +1 -0
  18. package/dist/colorspace.js +542 -0
  19. package/dist/colorspace.js.map +1 -0
  20. package/dist/context.d.ts +184 -0
  21. package/dist/context.d.ts.map +1 -0
  22. package/dist/context.js +320 -0
  23. package/dist/context.js.map +1 -0
  24. package/dist/cookie.d.ts +164 -0
  25. package/dist/cookie.d.ts.map +1 -0
  26. package/dist/cookie.js +306 -0
  27. package/dist/cookie.js.map +1 -0
  28. package/dist/device.d.ts +169 -0
  29. package/dist/device.d.ts.map +1 -0
  30. package/dist/device.js +350 -0
  31. package/dist/device.js.map +1 -0
  32. package/dist/display-list.d.ts +202 -0
  33. package/dist/display-list.d.ts.map +1 -0
  34. package/dist/display-list.js +410 -0
  35. package/dist/display-list.js.map +1 -0
  36. package/dist/document.d.ts +637 -0
  37. package/dist/document.d.ts.map +1 -0
  38. package/dist/document.js +902 -0
  39. package/dist/document.js.map +1 -0
  40. package/dist/easy.d.ts +423 -0
  41. package/dist/easy.d.ts.map +1 -0
  42. package/dist/easy.js +644 -0
  43. package/dist/easy.js.map +1 -0
  44. package/dist/enhanced.d.ts +226 -0
  45. package/dist/enhanced.d.ts.map +1 -0
  46. package/dist/enhanced.js +368 -0
  47. package/dist/enhanced.js.map +1 -0
  48. package/dist/filter.d.ts +51 -0
  49. package/dist/filter.d.ts.map +1 -0
  50. package/dist/filter.js +381 -0
  51. package/dist/filter.js.map +1 -0
  52. package/dist/font.d.ts +222 -0
  53. package/dist/font.d.ts.map +1 -0
  54. package/dist/font.js +381 -0
  55. package/dist/font.js.map +1 -0
  56. package/dist/form.d.ts +214 -0
  57. package/dist/form.d.ts.map +1 -0
  58. package/dist/form.js +497 -0
  59. package/dist/form.js.map +1 -0
  60. package/dist/geometry.d.ts +469 -0
  61. package/dist/geometry.d.ts.map +1 -0
  62. package/dist/geometry.js +780 -0
  63. package/dist/geometry.js.map +1 -0
  64. package/dist/image.d.ts +172 -0
  65. package/dist/image.d.ts.map +1 -0
  66. package/dist/image.js +348 -0
  67. package/dist/image.js.map +1 -0
  68. package/dist/index.d.ts +171 -0
  69. package/dist/index.d.ts.map +1 -0
  70. package/dist/index.js +339 -0
  71. package/dist/index.js.map +1 -0
  72. package/dist/link.d.ts +168 -0
  73. package/dist/link.d.ts.map +1 -0
  74. package/dist/link.js +343 -0
  75. package/dist/link.js.map +1 -0
  76. package/dist/micropdf.d.ts +40 -0
  77. package/dist/micropdf.d.ts.map +1 -0
  78. package/dist/micropdf.js +45 -0
  79. package/dist/micropdf.js.map +1 -0
  80. package/dist/nanopdf.d.ts +40 -0
  81. package/dist/nanopdf.d.ts.map +1 -0
  82. package/dist/nanopdf.js +45 -0
  83. package/dist/nanopdf.js.map +1 -0
  84. package/dist/native.d.ts +242 -0
  85. package/dist/native.d.ts.map +1 -0
  86. package/dist/native.js +509 -0
  87. package/dist/native.js.map +1 -0
  88. package/dist/output.d.ts +166 -0
  89. package/dist/output.d.ts.map +1 -0
  90. package/dist/output.js +365 -0
  91. package/dist/output.js.map +1 -0
  92. package/dist/path.d.ts +420 -0
  93. package/dist/path.d.ts.map +1 -0
  94. package/dist/path.js +687 -0
  95. package/dist/path.js.map +1 -0
  96. package/dist/pdf/object.d.ts +489 -0
  97. package/dist/pdf/object.d.ts.map +1 -0
  98. package/dist/pdf/object.js +1045 -0
  99. package/dist/pdf/object.js.map +1 -0
  100. package/dist/pixmap.d.ts +315 -0
  101. package/dist/pixmap.d.ts.map +1 -0
  102. package/dist/pixmap.js +590 -0
  103. package/dist/pixmap.js.map +1 -0
  104. package/dist/profiler.d.ts +159 -0
  105. package/dist/profiler.d.ts.map +1 -0
  106. package/dist/profiler.js +380 -0
  107. package/dist/profiler.js.map +1 -0
  108. package/dist/render-options.d.ts +227 -0
  109. package/dist/render-options.d.ts.map +1 -0
  110. package/dist/render-options.js +130 -0
  111. package/dist/render-options.js.map +1 -0
  112. package/dist/resource-tracking.d.ts +332 -0
  113. package/dist/resource-tracking.d.ts.map +1 -0
  114. package/dist/resource-tracking.js +653 -0
  115. package/dist/resource-tracking.js.map +1 -0
  116. package/dist/simple.d.ts +276 -0
  117. package/dist/simple.d.ts.map +1 -0
  118. package/dist/simple.js +343 -0
  119. package/dist/simple.js.map +1 -0
  120. package/dist/stext.d.ts +290 -0
  121. package/dist/stext.d.ts.map +1 -0
  122. package/dist/stext.js +312 -0
  123. package/dist/stext.js.map +1 -0
  124. package/dist/stream.d.ts +174 -0
  125. package/dist/stream.d.ts.map +1 -0
  126. package/dist/stream.js +476 -0
  127. package/dist/stream.js.map +1 -0
  128. package/dist/text.d.ts +337 -0
  129. package/dist/text.d.ts.map +1 -0
  130. package/dist/text.js +454 -0
  131. package/dist/text.js.map +1 -0
  132. package/dist/typed-arrays.d.ts +127 -0
  133. package/dist/typed-arrays.d.ts.map +1 -0
  134. package/dist/typed-arrays.js +410 -0
  135. package/dist/typed-arrays.js.map +1 -0
  136. package/dist/types.d.ts +358 -0
  137. package/dist/types.d.ts.map +1 -0
  138. package/dist/types.js +216 -0
  139. package/dist/types.js.map +1 -0
  140. package/native/annot.cc +557 -0
  141. package/native/buffer.cc +204 -0
  142. package/native/colorspace.cc +166 -0
  143. package/native/context.cc +84 -0
  144. package/native/cookie.cc +179 -0
  145. package/native/device.cc +179 -0
  146. package/native/display_list.cc +179 -0
  147. package/native/document.cc +268 -0
  148. package/native/enhanced.cc +70 -0
  149. package/native/font.cc +282 -0
  150. package/native/form.cc +523 -0
  151. package/native/geometry.cc +255 -0
  152. package/native/image.cc +216 -0
  153. package/native/include/micropdf/enhanced.h +38 -0
  154. package/native/include/micropdf/types.h +36 -0
  155. package/native/include/micropdf.h +106 -0
  156. package/native/include/mupdf-ffi.h +39 -0
  157. package/native/include/mupdf.h +11 -0
  158. package/native/include/mupdf_minimal.h +381 -0
  159. package/native/lib/linux-x64/libmicropdf.a +0 -0
  160. package/native/link.cc +234 -0
  161. package/native/micropdf.cc +71 -0
  162. package/native/output.cc +229 -0
  163. package/native/page.cc +572 -0
  164. package/native/path.cc +259 -0
  165. package/native/pixmap.cc +240 -0
  166. package/native/stext.cc +610 -0
  167. package/native/stream.cc +239 -0
  168. package/package.json +120 -0
  169. package/scripts/build-from-rust.js +97 -0
  170. package/scripts/install.js +184 -0
@@ -0,0 +1,358 @@
1
+ /**
2
+ * Core type definitions for MicroPDF
3
+ * These types mirror the Rust implementation for 100% API compatibility
4
+ */
5
+ /**
6
+ * Error codes matching Rust's error types
7
+ */
8
+ export declare enum ErrorCode {
9
+ Generic = "GENERIC",
10
+ System = "SYSTEM",
11
+ Format = "FORMAT",
12
+ Eof = "EOF",
13
+ Argument = "ARGUMENT",
14
+ Limit = "LIMIT",
15
+ Unsupported = "UNSUPPORTED"
16
+ }
17
+ /**
18
+ * MicroPDF error
19
+ */
20
+ export declare class MicroPDFError extends Error {
21
+ readonly code: ErrorCode;
22
+ readonly cause?: Error | undefined;
23
+ constructor(code: ErrorCode, message: string, cause?: Error);
24
+ static generic(message: string): MicroPDFError;
25
+ static system(message: string, cause?: Error): MicroPDFError;
26
+ static format(message: string): MicroPDFError;
27
+ static eof(): MicroPDFError;
28
+ static argument(message: string): MicroPDFError;
29
+ static limit(message: string): MicroPDFError;
30
+ static unsupported(message: string): MicroPDFError;
31
+ static notImplemented(feature: string): MicroPDFError;
32
+ }
33
+ /**
34
+ * Point-like object
35
+ */
36
+ export interface PointLike {
37
+ readonly x: number;
38
+ readonly y: number;
39
+ }
40
+ /**
41
+ * Rectangle-like object
42
+ */
43
+ export interface RectLike {
44
+ readonly x0: number;
45
+ readonly y0: number;
46
+ readonly x1: number;
47
+ readonly y1: number;
48
+ }
49
+ /**
50
+ * Integer rectangle-like object
51
+ */
52
+ export interface IRectLike {
53
+ readonly x0: number;
54
+ readonly y0: number;
55
+ readonly x1: number;
56
+ readonly y1: number;
57
+ }
58
+ /**
59
+ * Matrix-like object (affine transformation)
60
+ */
61
+ export interface MatrixLike {
62
+ readonly a: number;
63
+ readonly b: number;
64
+ readonly c: number;
65
+ readonly d: number;
66
+ readonly e: number;
67
+ readonly f: number;
68
+ }
69
+ /**
70
+ * Quad-like object (four corner points)
71
+ */
72
+ export interface QuadLike {
73
+ readonly ul: PointLike;
74
+ readonly ur: PointLike;
75
+ readonly ll: PointLike;
76
+ readonly lr: PointLike;
77
+ }
78
+ /**
79
+ * Colorspace type enumeration
80
+ */
81
+ export declare enum ColorspaceType {
82
+ None = "NONE",
83
+ Gray = "GRAY",
84
+ RGB = "RGB",
85
+ BGR = "BGR",
86
+ CMYK = "CMYK",
87
+ Lab = "LAB",
88
+ Indexed = "INDEXED",
89
+ Separation = "SEPARATION"
90
+ }
91
+ /**
92
+ * Colorspace-like object
93
+ */
94
+ export interface ColorspaceLike {
95
+ readonly name: string;
96
+ readonly n: number;
97
+ readonly type: ColorspaceType;
98
+ }
99
+ /**
100
+ * Pixmap-like object
101
+ */
102
+ export interface PixmapLike {
103
+ readonly width: number;
104
+ readonly height: number;
105
+ readonly n: number;
106
+ readonly alpha: boolean;
107
+ readonly stride: number;
108
+ readonly samples: Uint8Array;
109
+ readonly colorspace: ColorspaceLike | null;
110
+ }
111
+ /**
112
+ * Seek origin for stream operations
113
+ */
114
+ export declare enum SeekOrigin {
115
+ Start = 0,
116
+ Current = 1,
117
+ End = 2
118
+ }
119
+ /**
120
+ * Stream-like object
121
+ */
122
+ export interface StreamLike {
123
+ read(buffer: Uint8Array): number;
124
+ readByte(): number | null;
125
+ peek(): number | null;
126
+ seek(offset: number, origin: SeekOrigin): void;
127
+ tell(): number;
128
+ isEof(): boolean;
129
+ readonly length: number | null;
130
+ }
131
+ /**
132
+ * Types that can be converted to a Buffer
133
+ */
134
+ export type BufferLike = globalThis.Buffer | Uint8Array | ArrayBuffer | string | number[];
135
+ /**
136
+ * Check if a value is BufferLike
137
+ */
138
+ export declare function isBufferLike(value: unknown): value is BufferLike;
139
+ /**
140
+ * Document permission flags
141
+ */
142
+ export declare enum DocumentPermission {
143
+ Print = 4,
144
+ Modify = 8,
145
+ Copy = 16,
146
+ Annotate = 32,
147
+ Form = 256,
148
+ Accessibility = 512,
149
+ Assemble = 1024,
150
+ PrintHQ = 2048
151
+ }
152
+ /**
153
+ * Page location (chapter + page within chapter)
154
+ */
155
+ export interface PageLocation {
156
+ chapter: number;
157
+ page: number;
158
+ }
159
+ /**
160
+ * Link destination types
161
+ */
162
+ export declare enum LinkDestType {
163
+ None = "NONE",
164
+ Goto = "GOTO",
165
+ GotoR = "GOTOR",
166
+ URI = "URI",
167
+ Launch = "LAUNCH",
168
+ Named = "NAMED"
169
+ }
170
+ /**
171
+ * Link object
172
+ */
173
+ export interface Link {
174
+ readonly bounds: RectLike;
175
+ readonly dest: LinkDestType;
176
+ readonly uri?: string;
177
+ readonly page?: number;
178
+ }
179
+ /**
180
+ * Outline item (bookmark)
181
+ */
182
+ export interface OutlineItem {
183
+ readonly title: string;
184
+ readonly uri?: string;
185
+ readonly page?: number;
186
+ readonly children: OutlineItem[];
187
+ readonly isOpen: boolean;
188
+ }
189
+ /**
190
+ * PDF object type enumeration
191
+ */
192
+ export declare enum PdfObjectType {
193
+ Null = "NULL",
194
+ Bool = "BOOL",
195
+ Int = "INT",
196
+ Real = "REAL",
197
+ String = "STRING",
198
+ Name = "NAME",
199
+ Array = "ARRAY",
200
+ Dict = "DICT",
201
+ Indirect = "INDIRECT",
202
+ Stream = "STREAM"
203
+ }
204
+ /**
205
+ * PDF indirect reference
206
+ */
207
+ export interface PdfIndirectRef {
208
+ readonly num: number;
209
+ readonly gen: number;
210
+ }
211
+ /**
212
+ * PDF compression filter names
213
+ */
214
+ export declare enum FilterName {
215
+ FlateDecode = "FlateDecode",
216
+ LZWDecode = "LZWDecode",
217
+ ASCII85Decode = "ASCII85Decode",
218
+ ASCIIHexDecode = "ASCIIHexDecode",
219
+ RunLengthDecode = "RunLengthDecode",
220
+ CCITTFaxDecode = "CCITTFaxDecode",
221
+ DCTDecode = "DCTDecode",
222
+ JPXDecode = "JPXDecode",
223
+ JBIG2Decode = "JBIG2Decode",
224
+ Crypt = "Crypt"
225
+ }
226
+ /**
227
+ * Filter type as string literal union (for type safety)
228
+ */
229
+ export type FilterType = 'FlateDecode' | 'LZWDecode' | 'ASCII85Decode' | 'ASCIIHexDecode' | 'RunLengthDecode' | 'CCITTFaxDecode' | 'DCTDecode' | 'JPXDecode' | 'JBIG2Decode' | 'Crypt';
230
+ /**
231
+ * Filter parameters for FlateDecode/LZWDecode
232
+ */
233
+ export interface FlateDecodeParams {
234
+ predictor?: number;
235
+ colors?: number;
236
+ bitsPerComponent?: number;
237
+ columns?: number;
238
+ earlyChange?: number;
239
+ }
240
+ /**
241
+ * Filter parameters for CCITTFaxDecode
242
+ */
243
+ export interface CCITTFaxDecodeParams {
244
+ k?: number;
245
+ endOfLine?: boolean;
246
+ encodedByteAlign?: boolean;
247
+ columns?: number;
248
+ rows?: number;
249
+ endOfBlock?: boolean;
250
+ blackIs1?: boolean;
251
+ damagedRowsBeforeError?: number;
252
+ }
253
+ /**
254
+ * Filter parameters for DCTDecode
255
+ */
256
+ export interface DCTDecodeParams {
257
+ colorTransform?: number;
258
+ }
259
+ /**
260
+ * Filter parameters for JBIG2Decode
261
+ */
262
+ export interface JBIG2DecodeParams {
263
+ globals?: Uint8Array;
264
+ }
265
+ /**
266
+ * Rendering options
267
+ */
268
+ export interface RenderOptions {
269
+ /** Resolution in DPI (default: 72) */
270
+ dpi?: number;
271
+ /** Rotation in degrees (0, 90, 180, 270) */
272
+ rotation?: number;
273
+ /** Colorspace for rendering */
274
+ colorspace?: ColorspaceType;
275
+ /** Include alpha channel */
276
+ alpha?: boolean;
277
+ /** Clip rectangle */
278
+ clip?: RectLike;
279
+ /** Background color (default: white) */
280
+ backgroundColor?: number[];
281
+ }
282
+ /**
283
+ * Text extraction options
284
+ */
285
+ export interface TextExtractionOptions {
286
+ /** Preserve whitespace */
287
+ preserveWhitespace?: boolean;
288
+ /** Include ligatures */
289
+ preserveLigatures?: boolean;
290
+ /** Sort by reading order */
291
+ sortByReadingOrder?: boolean;
292
+ }
293
+ /**
294
+ * Annotation type enumeration
295
+ */
296
+ export declare enum AnnotationType {
297
+ Text = "TEXT",
298
+ Link = "LINK",
299
+ FreeText = "FREE_TEXT",
300
+ Line = "LINE",
301
+ Square = "SQUARE",
302
+ Circle = "CIRCLE",
303
+ Polygon = "POLYGON",
304
+ PolyLine = "POLY_LINE",
305
+ Highlight = "HIGHLIGHT",
306
+ Underline = "UNDERLINE",
307
+ Squiggly = "SQUIGGLY",
308
+ StrikeOut = "STRIKE_OUT",
309
+ Stamp = "STAMP",
310
+ Caret = "CARET",
311
+ Ink = "INK",
312
+ Popup = "POPUP",
313
+ FileAttachment = "FILE_ATTACHMENT",
314
+ Sound = "SOUND",
315
+ Movie = "MOVIE",
316
+ Widget = "WIDGET",
317
+ Screen = "SCREEN",
318
+ PrinterMark = "PRINTER_MARK",
319
+ TrapNet = "TRAP_NET",
320
+ Watermark = "WATERMARK",
321
+ ThreeD = "THREE_D",
322
+ Redact = "REDACT"
323
+ }
324
+ /**
325
+ * Annotation-like object
326
+ */
327
+ export interface AnnotationLike {
328
+ readonly type: AnnotationType;
329
+ readonly rect: RectLike;
330
+ readonly contents?: string;
331
+ readonly author?: string;
332
+ readonly modificationDate?: Date;
333
+ readonly creationDate?: Date;
334
+ }
335
+ /**
336
+ * Form field type enumeration
337
+ */
338
+ export declare enum FormFieldType {
339
+ Unknown = "UNKNOWN",
340
+ Button = "BUTTON",
341
+ CheckBox = "CHECK_BOX",
342
+ RadioButton = "RADIO_BUTTON",
343
+ Text = "TEXT",
344
+ ListBox = "LIST_BOX",
345
+ ComboBox = "COMBO_BOX",
346
+ Signature = "SIGNATURE"
347
+ }
348
+ /**
349
+ * Form field-like object
350
+ */
351
+ export interface FormFieldLike {
352
+ readonly type: FormFieldType;
353
+ readonly name: string;
354
+ readonly value: string | boolean | string[];
355
+ readonly rect: RectLike;
356
+ readonly flags: number;
357
+ }
358
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,216 @@
1
+ /**
2
+ * Core type definitions for MicroPDF
3
+ * These types mirror the Rust implementation for 100% API compatibility
4
+ */
5
+ // ============================================================================
6
+ // Error Types
7
+ // ============================================================================
8
+ /**
9
+ * Error codes matching Rust's error types
10
+ */
11
+ export var ErrorCode;
12
+ (function (ErrorCode) {
13
+ ErrorCode["Generic"] = "GENERIC";
14
+ ErrorCode["System"] = "SYSTEM";
15
+ ErrorCode["Format"] = "FORMAT";
16
+ ErrorCode["Eof"] = "EOF";
17
+ ErrorCode["Argument"] = "ARGUMENT";
18
+ ErrorCode["Limit"] = "LIMIT";
19
+ ErrorCode["Unsupported"] = "UNSUPPORTED";
20
+ })(ErrorCode || (ErrorCode = {}));
21
+ /**
22
+ * MicroPDF error
23
+ */
24
+ export class MicroPDFError extends Error {
25
+ code;
26
+ cause;
27
+ constructor(code, message, cause) {
28
+ super(message);
29
+ this.name = 'MicroPDFError';
30
+ this.code = code;
31
+ this.cause = cause;
32
+ }
33
+ static generic(message) {
34
+ return new MicroPDFError(ErrorCode.Generic, message);
35
+ }
36
+ static system(message, cause) {
37
+ return new MicroPDFError(ErrorCode.System, message, cause);
38
+ }
39
+ static format(message) {
40
+ return new MicroPDFError(ErrorCode.Format, message);
41
+ }
42
+ static eof() {
43
+ return new MicroPDFError(ErrorCode.Eof, 'Unexpected end of file');
44
+ }
45
+ static argument(message) {
46
+ return new MicroPDFError(ErrorCode.Argument, message);
47
+ }
48
+ static limit(message) {
49
+ return new MicroPDFError(ErrorCode.Limit, message);
50
+ }
51
+ static unsupported(message) {
52
+ return new MicroPDFError(ErrorCode.Unsupported, message);
53
+ }
54
+ static notImplemented(feature) {
55
+ return new MicroPDFError(ErrorCode.Unsupported, `${feature} is not yet implemented`);
56
+ }
57
+ }
58
+ // ============================================================================
59
+ // Colorspace Types
60
+ // ============================================================================
61
+ /**
62
+ * Colorspace type enumeration
63
+ */
64
+ export var ColorspaceType;
65
+ (function (ColorspaceType) {
66
+ ColorspaceType["None"] = "NONE";
67
+ ColorspaceType["Gray"] = "GRAY";
68
+ ColorspaceType["RGB"] = "RGB";
69
+ ColorspaceType["BGR"] = "BGR";
70
+ ColorspaceType["CMYK"] = "CMYK";
71
+ ColorspaceType["Lab"] = "LAB";
72
+ ColorspaceType["Indexed"] = "INDEXED";
73
+ ColorspaceType["Separation"] = "SEPARATION";
74
+ })(ColorspaceType || (ColorspaceType = {}));
75
+ // ============================================================================
76
+ // Stream Types
77
+ // ============================================================================
78
+ /**
79
+ * Seek origin for stream operations
80
+ */
81
+ export var SeekOrigin;
82
+ (function (SeekOrigin) {
83
+ SeekOrigin[SeekOrigin["Start"] = 0] = "Start";
84
+ SeekOrigin[SeekOrigin["Current"] = 1] = "Current";
85
+ SeekOrigin[SeekOrigin["End"] = 2] = "End";
86
+ })(SeekOrigin || (SeekOrigin = {}));
87
+ /**
88
+ * Check if a value is BufferLike
89
+ */
90
+ export function isBufferLike(value) {
91
+ return (globalThis.Buffer.isBuffer(value) ||
92
+ value instanceof Uint8Array ||
93
+ value instanceof ArrayBuffer ||
94
+ typeof value === 'string' ||
95
+ (Array.isArray(value) && value.every((v) => typeof v === 'number')));
96
+ }
97
+ // ============================================================================
98
+ // Document Types
99
+ // ============================================================================
100
+ /**
101
+ * Document permission flags
102
+ */
103
+ export var DocumentPermission;
104
+ (function (DocumentPermission) {
105
+ DocumentPermission[DocumentPermission["Print"] = 4] = "Print";
106
+ DocumentPermission[DocumentPermission["Modify"] = 8] = "Modify";
107
+ DocumentPermission[DocumentPermission["Copy"] = 16] = "Copy";
108
+ DocumentPermission[DocumentPermission["Annotate"] = 32] = "Annotate";
109
+ DocumentPermission[DocumentPermission["Form"] = 256] = "Form";
110
+ DocumentPermission[DocumentPermission["Accessibility"] = 512] = "Accessibility";
111
+ DocumentPermission[DocumentPermission["Assemble"] = 1024] = "Assemble";
112
+ DocumentPermission[DocumentPermission["PrintHQ"] = 2048] = "PrintHQ";
113
+ })(DocumentPermission || (DocumentPermission = {}));
114
+ /**
115
+ * Link destination types
116
+ */
117
+ export var LinkDestType;
118
+ (function (LinkDestType) {
119
+ LinkDestType["None"] = "NONE";
120
+ LinkDestType["Goto"] = "GOTO";
121
+ LinkDestType["GotoR"] = "GOTOR";
122
+ LinkDestType["URI"] = "URI";
123
+ LinkDestType["Launch"] = "LAUNCH";
124
+ LinkDestType["Named"] = "NAMED";
125
+ })(LinkDestType || (LinkDestType = {}));
126
+ // ============================================================================
127
+ // PDF Object Types
128
+ // ============================================================================
129
+ /**
130
+ * PDF object type enumeration
131
+ */
132
+ export var PdfObjectType;
133
+ (function (PdfObjectType) {
134
+ PdfObjectType["Null"] = "NULL";
135
+ PdfObjectType["Bool"] = "BOOL";
136
+ PdfObjectType["Int"] = "INT";
137
+ PdfObjectType["Real"] = "REAL";
138
+ PdfObjectType["String"] = "STRING";
139
+ PdfObjectType["Name"] = "NAME";
140
+ PdfObjectType["Array"] = "ARRAY";
141
+ PdfObjectType["Dict"] = "DICT";
142
+ PdfObjectType["Indirect"] = "INDIRECT";
143
+ PdfObjectType["Stream"] = "STREAM";
144
+ })(PdfObjectType || (PdfObjectType = {}));
145
+ // ============================================================================
146
+ // Compression Filter Types
147
+ // ============================================================================
148
+ /**
149
+ * PDF compression filter names
150
+ */
151
+ export var FilterName;
152
+ (function (FilterName) {
153
+ FilterName["FlateDecode"] = "FlateDecode";
154
+ FilterName["LZWDecode"] = "LZWDecode";
155
+ FilterName["ASCII85Decode"] = "ASCII85Decode";
156
+ FilterName["ASCIIHexDecode"] = "ASCIIHexDecode";
157
+ FilterName["RunLengthDecode"] = "RunLengthDecode";
158
+ FilterName["CCITTFaxDecode"] = "CCITTFaxDecode";
159
+ FilterName["DCTDecode"] = "DCTDecode";
160
+ FilterName["JPXDecode"] = "JPXDecode";
161
+ FilterName["JBIG2Decode"] = "JBIG2Decode";
162
+ FilterName["Crypt"] = "Crypt";
163
+ })(FilterName || (FilterName = {}));
164
+ // ============================================================================
165
+ // Annotation Types
166
+ // ============================================================================
167
+ /**
168
+ * Annotation type enumeration
169
+ */
170
+ export var AnnotationType;
171
+ (function (AnnotationType) {
172
+ AnnotationType["Text"] = "TEXT";
173
+ AnnotationType["Link"] = "LINK";
174
+ AnnotationType["FreeText"] = "FREE_TEXT";
175
+ AnnotationType["Line"] = "LINE";
176
+ AnnotationType["Square"] = "SQUARE";
177
+ AnnotationType["Circle"] = "CIRCLE";
178
+ AnnotationType["Polygon"] = "POLYGON";
179
+ AnnotationType["PolyLine"] = "POLY_LINE";
180
+ AnnotationType["Highlight"] = "HIGHLIGHT";
181
+ AnnotationType["Underline"] = "UNDERLINE";
182
+ AnnotationType["Squiggly"] = "SQUIGGLY";
183
+ AnnotationType["StrikeOut"] = "STRIKE_OUT";
184
+ AnnotationType["Stamp"] = "STAMP";
185
+ AnnotationType["Caret"] = "CARET";
186
+ AnnotationType["Ink"] = "INK";
187
+ AnnotationType["Popup"] = "POPUP";
188
+ AnnotationType["FileAttachment"] = "FILE_ATTACHMENT";
189
+ AnnotationType["Sound"] = "SOUND";
190
+ AnnotationType["Movie"] = "MOVIE";
191
+ AnnotationType["Widget"] = "WIDGET";
192
+ AnnotationType["Screen"] = "SCREEN";
193
+ AnnotationType["PrinterMark"] = "PRINTER_MARK";
194
+ AnnotationType["TrapNet"] = "TRAP_NET";
195
+ AnnotationType["Watermark"] = "WATERMARK";
196
+ AnnotationType["ThreeD"] = "THREE_D";
197
+ AnnotationType["Redact"] = "REDACT";
198
+ })(AnnotationType || (AnnotationType = {}));
199
+ // ============================================================================
200
+ // Form Types
201
+ // ============================================================================
202
+ /**
203
+ * Form field type enumeration
204
+ */
205
+ export var FormFieldType;
206
+ (function (FormFieldType) {
207
+ FormFieldType["Unknown"] = "UNKNOWN";
208
+ FormFieldType["Button"] = "BUTTON";
209
+ FormFieldType["CheckBox"] = "CHECK_BOX";
210
+ FormFieldType["RadioButton"] = "RADIO_BUTTON";
211
+ FormFieldType["Text"] = "TEXT";
212
+ FormFieldType["ListBox"] = "LIST_BOX";
213
+ FormFieldType["ComboBox"] = "COMBO_BOX";
214
+ FormFieldType["Signature"] = "SIGNATURE";
215
+ })(FormFieldType || (FormFieldType = {}));
216
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}