pdf-oxide 0.3.24 → 0.3.28

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 (271) hide show
  1. package/lib/builders/annotation-builder.d.ts +199 -0
  2. package/lib/builders/annotation-builder.d.ts.map +1 -0
  3. package/lib/builders/annotation-builder.js +318 -0
  4. package/lib/builders/annotation-builder.js.map +1 -0
  5. package/lib/builders/conversion-options-builder.d.ts +107 -0
  6. package/lib/builders/conversion-options-builder.d.ts.map +1 -0
  7. package/lib/builders/conversion-options-builder.js +215 -0
  8. package/lib/builders/conversion-options-builder.js.map +1 -0
  9. package/{src/builders/index.ts → lib/builders/index.d.ts} +1 -1
  10. package/lib/builders/index.d.ts.map +1 -0
  11. package/lib/builders/index.js +12 -0
  12. package/lib/builders/index.js.map +1 -0
  13. package/lib/builders/metadata-builder.d.ts +202 -0
  14. package/lib/builders/metadata-builder.d.ts.map +1 -0
  15. package/lib/builders/metadata-builder.js +286 -0
  16. package/lib/builders/metadata-builder.js.map +1 -0
  17. package/lib/builders/pdf-builder.d.ts +215 -0
  18. package/lib/builders/pdf-builder.d.ts.map +1 -0
  19. package/lib/builders/pdf-builder.js +339 -0
  20. package/lib/builders/pdf-builder.js.map +1 -0
  21. package/lib/builders/search-options-builder.d.ts +74 -0
  22. package/lib/builders/search-options-builder.d.ts.map +1 -0
  23. package/lib/builders/search-options-builder.js +130 -0
  24. package/lib/builders/search-options-builder.js.map +1 -0
  25. package/lib/document-editor-manager.d.ts +140 -0
  26. package/lib/document-editor-manager.d.ts.map +1 -0
  27. package/lib/document-editor-manager.js +257 -0
  28. package/lib/document-editor-manager.js.map +1 -0
  29. package/lib/errors.d.ts +383 -0
  30. package/lib/errors.d.ts.map +1 -0
  31. package/lib/errors.js +1117 -0
  32. package/lib/errors.js.map +1 -0
  33. package/lib/form-field-manager.d.ts +300 -0
  34. package/lib/form-field-manager.d.ts.map +1 -0
  35. package/lib/form-field-manager.js +567 -0
  36. package/lib/form-field-manager.js.map +1 -0
  37. package/lib/hybrid-ml-manager.d.ts +143 -0
  38. package/lib/hybrid-ml-manager.d.ts.map +1 -0
  39. package/lib/hybrid-ml-manager.js +209 -0
  40. package/lib/hybrid-ml-manager.js.map +1 -0
  41. package/lib/index.d.ts +23 -0
  42. package/lib/index.d.ts.map +1 -0
  43. package/lib/index.js +280 -0
  44. package/lib/index.js.map +1 -0
  45. package/lib/managers/accessibility-manager.d.ts +149 -0
  46. package/lib/managers/accessibility-manager.d.ts.map +1 -0
  47. package/lib/managers/accessibility-manager.js +224 -0
  48. package/lib/managers/accessibility-manager.js.map +1 -0
  49. package/lib/managers/annotation-manager.d.ts +220 -0
  50. package/lib/managers/annotation-manager.d.ts.map +1 -0
  51. package/lib/managers/annotation-manager.js +360 -0
  52. package/lib/managers/annotation-manager.js.map +1 -0
  53. package/lib/managers/barcode-manager.d.ts +80 -0
  54. package/lib/managers/barcode-manager.d.ts.map +1 -0
  55. package/lib/managers/barcode-manager.js +226 -0
  56. package/lib/managers/barcode-manager.js.map +1 -0
  57. package/lib/managers/batch-manager.d.ts +186 -0
  58. package/lib/managers/batch-manager.d.ts.map +1 -0
  59. package/lib/managers/batch-manager.js +389 -0
  60. package/lib/managers/batch-manager.js.map +1 -0
  61. package/lib/managers/cache-manager.d.ts +182 -0
  62. package/lib/managers/cache-manager.d.ts.map +1 -0
  63. package/lib/managers/cache-manager.js +387 -0
  64. package/lib/managers/cache-manager.js.map +1 -0
  65. package/lib/managers/compliance-manager.d.ts +104 -0
  66. package/lib/managers/compliance-manager.d.ts.map +1 -0
  67. package/lib/managers/compliance-manager.js +415 -0
  68. package/lib/managers/compliance-manager.js.map +1 -0
  69. package/lib/managers/content-manager.d.ts +121 -0
  70. package/lib/managers/content-manager.d.ts.map +1 -0
  71. package/lib/managers/content-manager.js +295 -0
  72. package/lib/managers/content-manager.js.map +1 -0
  73. package/lib/managers/document-utility-manager.d.ts +370 -0
  74. package/lib/managers/document-utility-manager.d.ts.map +1 -0
  75. package/lib/managers/document-utility-manager.js +731 -0
  76. package/lib/managers/document-utility-manager.js.map +1 -0
  77. package/lib/managers/dom-pdf-creator.d.ts +105 -0
  78. package/lib/managers/dom-pdf-creator.d.ts.map +1 -0
  79. package/lib/managers/dom-pdf-creator.js +300 -0
  80. package/lib/managers/dom-pdf-creator.js.map +1 -0
  81. package/lib/managers/editing-manager.d.ts +249 -0
  82. package/lib/managers/editing-manager.d.ts.map +1 -0
  83. package/lib/managers/editing-manager.js +388 -0
  84. package/lib/managers/editing-manager.js.map +1 -0
  85. package/lib/managers/enterprise-manager.d.ts +193 -0
  86. package/lib/managers/enterprise-manager.d.ts.map +1 -0
  87. package/lib/managers/enterprise-manager.js +305 -0
  88. package/lib/managers/enterprise-manager.js.map +1 -0
  89. package/lib/managers/extended-managers.d.ts +123 -0
  90. package/lib/managers/extended-managers.d.ts.map +1 -0
  91. package/lib/managers/extended-managers.js +658 -0
  92. package/lib/managers/extended-managers.js.map +1 -0
  93. package/lib/managers/extraction-manager.d.ts +247 -0
  94. package/lib/managers/extraction-manager.d.ts.map +1 -0
  95. package/lib/managers/extraction-manager.js +478 -0
  96. package/lib/managers/extraction-manager.js.map +1 -0
  97. package/lib/managers/final-utilities.d.ts +128 -0
  98. package/lib/managers/final-utilities.d.ts.map +1 -0
  99. package/lib/managers/final-utilities.js +653 -0
  100. package/lib/managers/final-utilities.js.map +1 -0
  101. package/lib/managers/hybrid-ml-advanced.d.ts +137 -0
  102. package/lib/managers/hybrid-ml-advanced.d.ts.map +1 -0
  103. package/lib/managers/hybrid-ml-advanced.js +707 -0
  104. package/lib/managers/hybrid-ml-advanced.js.map +1 -0
  105. package/lib/managers/index.d.ts +65 -0
  106. package/lib/managers/index.d.ts.map +1 -0
  107. package/lib/managers/index.js +70 -0
  108. package/lib/managers/index.js.map +1 -0
  109. package/lib/managers/layer-manager.d.ts +204 -0
  110. package/lib/managers/layer-manager.d.ts.map +1 -0
  111. package/lib/managers/layer-manager.js +403 -0
  112. package/lib/managers/layer-manager.js.map +1 -0
  113. package/lib/managers/metadata-manager.d.ts +149 -0
  114. package/lib/managers/metadata-manager.d.ts.map +1 -0
  115. package/lib/managers/metadata-manager.js +281 -0
  116. package/lib/managers/metadata-manager.js.map +1 -0
  117. package/lib/managers/ocr-manager.d.ts +195 -0
  118. package/lib/managers/ocr-manager.d.ts.map +1 -0
  119. package/lib/managers/ocr-manager.js +583 -0
  120. package/lib/managers/ocr-manager.js.map +1 -0
  121. package/lib/managers/optimization-manager.d.ts +103 -0
  122. package/lib/managers/optimization-manager.d.ts.map +1 -0
  123. package/lib/managers/optimization-manager.js +194 -0
  124. package/lib/managers/optimization-manager.js.map +1 -0
  125. package/lib/managers/outline-manager.d.ts +102 -0
  126. package/lib/managers/outline-manager.d.ts.map +1 -0
  127. package/lib/managers/outline-manager.js +170 -0
  128. package/lib/managers/outline-manager.js.map +1 -0
  129. package/lib/managers/page-manager.d.ts +143 -0
  130. package/lib/managers/page-manager.d.ts.map +1 -0
  131. package/lib/managers/page-manager.js +237 -0
  132. package/lib/managers/page-manager.js.map +1 -0
  133. package/lib/managers/pattern-detection.d.ts +170 -0
  134. package/lib/managers/pattern-detection.d.ts.map +1 -0
  135. package/lib/managers/pattern-detection.js +325 -0
  136. package/lib/managers/pattern-detection.js.map +1 -0
  137. package/lib/managers/rendering-manager.d.ts +354 -0
  138. package/lib/managers/rendering-manager.d.ts.map +1 -0
  139. package/lib/managers/rendering-manager.js +680 -0
  140. package/lib/managers/rendering-manager.js.map +1 -0
  141. package/lib/managers/search-manager.d.ts +236 -0
  142. package/lib/managers/search-manager.d.ts.map +1 -0
  143. package/lib/managers/search-manager.js +330 -0
  144. package/lib/managers/search-manager.js.map +1 -0
  145. package/lib/managers/security-manager.d.ts +162 -0
  146. package/lib/managers/security-manager.d.ts.map +1 -0
  147. package/lib/managers/security-manager.js +293 -0
  148. package/lib/managers/security-manager.js.map +1 -0
  149. package/lib/managers/signature-manager.d.ts +725 -0
  150. package/lib/managers/signature-manager.d.ts.map +1 -0
  151. package/lib/managers/signature-manager.js +1365 -0
  152. package/lib/managers/signature-manager.js.map +1 -0
  153. package/lib/managers/streams.d.ts +263 -0
  154. package/lib/managers/streams.d.ts.map +1 -0
  155. package/lib/managers/streams.js +472 -0
  156. package/lib/managers/streams.js.map +1 -0
  157. package/lib/managers/xfa-manager.d.ts +228 -0
  158. package/lib/managers/xfa-manager.d.ts.map +1 -0
  159. package/lib/managers/xfa-manager.js +490 -0
  160. package/lib/managers/xfa-manager.js.map +1 -0
  161. package/lib/pdf-creator-manager.d.ts +201 -0
  162. package/lib/pdf-creator-manager.d.ts.map +1 -0
  163. package/lib/pdf-creator-manager.js +379 -0
  164. package/lib/pdf-creator-manager.js.map +1 -0
  165. package/lib/properties.d.ts +80 -0
  166. package/lib/properties.d.ts.map +1 -0
  167. package/lib/properties.js +455 -0
  168. package/lib/properties.js.map +1 -0
  169. package/lib/result-accessors-manager.d.ts +347 -0
  170. package/lib/result-accessors-manager.d.ts.map +1 -0
  171. package/lib/result-accessors-manager.js +705 -0
  172. package/lib/result-accessors-manager.js.map +1 -0
  173. package/lib/thumbnail-manager.d.ts +122 -0
  174. package/lib/thumbnail-manager.d.ts.map +1 -0
  175. package/lib/thumbnail-manager.js +206 -0
  176. package/lib/thumbnail-manager.js.map +1 -0
  177. package/lib/types/common.d.ts +93 -0
  178. package/lib/types/common.d.ts.map +1 -0
  179. package/lib/types/common.js +5 -0
  180. package/lib/types/common.js.map +1 -0
  181. package/lib/types/document-types.d.ts +353 -0
  182. package/lib/types/document-types.d.ts.map +1 -0
  183. package/lib/types/document-types.js +83 -0
  184. package/lib/types/document-types.js.map +1 -0
  185. package/{src/types/index.ts → lib/types/index.d.ts} +1 -1
  186. package/lib/types/index.d.ts.map +1 -0
  187. package/lib/types/index.js +6 -0
  188. package/lib/types/index.js.map +1 -0
  189. package/lib/types/manager-types.d.ts +180 -0
  190. package/lib/types/manager-types.d.ts.map +1 -0
  191. package/lib/types/manager-types.js +99 -0
  192. package/lib/types/manager-types.js.map +1 -0
  193. package/lib/types/native-bindings.d.ts +440 -0
  194. package/lib/types/native-bindings.d.ts.map +1 -0
  195. package/lib/types/native-bindings.js +8 -0
  196. package/lib/types/native-bindings.js.map +1 -0
  197. package/{src/workers/index.ts → lib/workers/index.d.ts} +1 -1
  198. package/lib/workers/index.d.ts.map +1 -0
  199. package/lib/workers/index.js +6 -0
  200. package/lib/workers/index.js.map +1 -0
  201. package/lib/workers/pool.d.ts +65 -0
  202. package/lib/workers/pool.d.ts.map +1 -0
  203. package/lib/workers/pool.js +195 -0
  204. package/lib/workers/pool.js.map +1 -0
  205. package/lib/workers/worker.d.ts +6 -0
  206. package/lib/workers/worker.d.ts.map +1 -0
  207. package/lib/workers/worker.js +100 -0
  208. package/lib/workers/worker.js.map +1 -0
  209. package/package.json +12 -22
  210. package/prebuilds/darwin-arm64/pdf_oxide.node +0 -0
  211. package/prebuilds/darwin-x64/pdf_oxide.node +0 -0
  212. package/prebuilds/linux-arm64/pdf_oxide.node +0 -0
  213. package/prebuilds/linux-x64/pdf_oxide.node +0 -0
  214. package/prebuilds/win32-x64/pdf_oxide.node +0 -0
  215. package/binding.gyp +0 -35
  216. package/src/builders/annotation-builder.ts +0 -367
  217. package/src/builders/conversion-options-builder.ts +0 -257
  218. package/src/builders/metadata-builder.ts +0 -317
  219. package/src/builders/pdf-builder.ts +0 -386
  220. package/src/builders/search-options-builder.ts +0 -151
  221. package/src/document-editor-manager.ts +0 -318
  222. package/src/errors.ts +0 -1629
  223. package/src/form-field-manager.ts +0 -666
  224. package/src/hybrid-ml-manager.ts +0 -283
  225. package/src/index.ts +0 -453
  226. package/src/managers/accessibility-manager.ts +0 -338
  227. package/src/managers/annotation-manager.ts +0 -439
  228. package/src/managers/barcode-manager.ts +0 -235
  229. package/src/managers/batch-manager.ts +0 -533
  230. package/src/managers/cache-manager.ts +0 -486
  231. package/src/managers/compliance-manager.ts +0 -375
  232. package/src/managers/content-manager.ts +0 -339
  233. package/src/managers/document-utility-manager.ts +0 -922
  234. package/src/managers/dom-pdf-creator.ts +0 -365
  235. package/src/managers/editing-manager.ts +0 -514
  236. package/src/managers/enterprise-manager.ts +0 -478
  237. package/src/managers/extended-managers.ts +0 -437
  238. package/src/managers/extraction-manager.ts +0 -583
  239. package/src/managers/final-utilities.ts +0 -429
  240. package/src/managers/hybrid-ml-advanced.ts +0 -479
  241. package/src/managers/index.ts +0 -239
  242. package/src/managers/layer-manager.ts +0 -500
  243. package/src/managers/metadata-manager.ts +0 -303
  244. package/src/managers/ocr-manager.ts +0 -756
  245. package/src/managers/optimization-manager.ts +0 -262
  246. package/src/managers/outline-manager.ts +0 -196
  247. package/src/managers/page-manager.ts +0 -289
  248. package/src/managers/pattern-detection.ts +0 -440
  249. package/src/managers/rendering-manager.ts +0 -863
  250. package/src/managers/search-manager.ts +0 -385
  251. package/src/managers/security-manager.ts +0 -345
  252. package/src/managers/signature-manager.ts +0 -1664
  253. package/src/managers/streams.ts +0 -618
  254. package/src/managers/xfa-manager.ts +0 -500
  255. package/src/pdf-creator-manager.ts +0 -494
  256. package/src/properties.ts +0 -522
  257. package/src/result-accessors-manager.ts +0 -867
  258. package/src/tests/advanced-features.test.ts +0 -414
  259. package/src/tests/advanced.test.ts +0 -266
  260. package/src/tests/extended-managers.test.ts +0 -316
  261. package/src/tests/final-utilities.test.ts +0 -455
  262. package/src/tests/foundation.test.ts +0 -315
  263. package/src/tests/high-demand.test.ts +0 -257
  264. package/src/tests/specialized.test.ts +0 -97
  265. package/src/thumbnail-manager.ts +0 -272
  266. package/src/types/common.ts +0 -142
  267. package/src/types/document-types.ts +0 -457
  268. package/src/types/manager-types.ts +0 -284
  269. package/src/types/native-bindings.ts +0 -517
  270. package/src/workers/pool.ts +0 -274
  271. package/src/workers/worker.ts +0 -131
@@ -0,0 +1,353 @@
1
+ /**
2
+ * PdfDocument - TypeScript type definitions for pdf_oxide
3
+ *
4
+ * Provides complete type definitions for the PdfDocument class and related types.
5
+ * These types ensure type safety when using the pdf_oxide library in TypeScript.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { PdfDocument } from 'pdf_oxide';
10
+ *
11
+ * const doc = await PdfDocument.open('document.pdf');
12
+ * const pageCount = await doc.pageCount();
13
+ * const text = await doc.extractText(0);
14
+ * ```
15
+ */
16
+ /**
17
+ * Represents a rectangle in PDF coordinate space (origin at bottom-left)
18
+ */
19
+ export interface Rect {
20
+ readonly x: number;
21
+ readonly y: number;
22
+ readonly width: number;
23
+ readonly height: number;
24
+ }
25
+ /**
26
+ * Represents a point in PDF coordinate space
27
+ */
28
+ export interface Point {
29
+ readonly x: number;
30
+ readonly y: number;
31
+ }
32
+ /**
33
+ * Represents a color (RGBA)
34
+ */
35
+ export interface Color {
36
+ readonly r: number;
37
+ readonly g: number;
38
+ readonly b: number;
39
+ readonly a?: number;
40
+ }
41
+ /**
42
+ * Standard page sizes
43
+ */
44
+ export declare enum PageSizeType {
45
+ LETTER = "letter",
46
+ LEGAL = "legal",
47
+ A4 = "a4",
48
+ A3 = "a3",
49
+ A5 = "a5",
50
+ B4 = "b4",
51
+ TABLOID = "tabloid"
52
+ }
53
+ /**
54
+ * Page size dimensions
55
+ */
56
+ export interface PageSize {
57
+ readonly type?: PageSizeType;
58
+ readonly width: number;
59
+ readonly height: number;
60
+ }
61
+ /**
62
+ * PDF document metadata
63
+ */
64
+ export interface DocumentMetadata {
65
+ readonly title?: string;
66
+ readonly author?: string;
67
+ readonly subject?: string;
68
+ readonly keywords?: string;
69
+ readonly creator?: string;
70
+ readonly producer?: string;
71
+ readonly creationDate?: Date;
72
+ readonly modificationDate?: Date;
73
+ readonly pageCount: number;
74
+ readonly format?: string;
75
+ readonly version?: string;
76
+ readonly isEncrypted?: boolean;
77
+ readonly hasXfa?: boolean;
78
+ }
79
+ /**
80
+ * Form field type enumeration
81
+ */
82
+ export declare enum FormFieldType {
83
+ TEXT = "text",
84
+ CHECKBOX = "checkbox",
85
+ RADIO = "radio",
86
+ COMBOBOX = "combobox",
87
+ LISTBOX = "listbox",
88
+ SIGNATURE = "signature",
89
+ DATE = "date",
90
+ BUTTON = "button"
91
+ }
92
+ /**
93
+ * Form field information
94
+ */
95
+ export interface FormField {
96
+ readonly name: string;
97
+ readonly type: FormFieldType;
98
+ readonly value: string;
99
+ readonly pageIndex: number;
100
+ readonly x: number;
101
+ readonly y: number;
102
+ readonly width: number;
103
+ readonly height: number;
104
+ readonly required?: boolean;
105
+ readonly readonly?: boolean;
106
+ }
107
+ /**
108
+ * Text content on a page
109
+ */
110
+ export interface TextContent {
111
+ readonly text: string;
112
+ readonly x: number;
113
+ readonly y: number;
114
+ readonly width: number;
115
+ readonly height: number;
116
+ readonly fontName?: string;
117
+ readonly fontSize?: number;
118
+ readonly confidence?: number;
119
+ }
120
+ /**
121
+ * Image content on a page
122
+ */
123
+ export interface ImageContent {
124
+ readonly x: number;
125
+ readonly y: number;
126
+ readonly width: number;
127
+ readonly height: number;
128
+ readonly imageType?: string;
129
+ readonly bitsPerComponent?: number;
130
+ readonly colorSpace?: string;
131
+ }
132
+ /**
133
+ * Annotation type enumeration
134
+ */
135
+ export declare enum AnnotationType {
136
+ TEXT = "text",
137
+ LINK = "link",
138
+ HIGHLIGHT = "highlight",
139
+ UNDERLINE = "underline",
140
+ STRIKEOUT = "strikeout",
141
+ SQUIGGLY = "squiggly",
142
+ STAMP = "stamp",
143
+ CARET = "caret",
144
+ INK = "ink",
145
+ POPUP = "popup",
146
+ FILE_ATTACHMENT = "file_attachment",
147
+ SOUND = "sound",
148
+ MOVIE = "movie",
149
+ WIDGET = "widget",
150
+ SCREEN = "screen",
151
+ PRINTER_MARK = "printer_mark",
152
+ TRAP_NET = "trap_net",
153
+ WATERMARK = "watermark",
154
+ REDACT = "redact"
155
+ }
156
+ /**
157
+ * Annotation information
158
+ */
159
+ export interface Annotation {
160
+ readonly type: AnnotationType;
161
+ readonly x: number;
162
+ readonly y: number;
163
+ readonly width: number;
164
+ readonly height: number;
165
+ readonly contents?: string;
166
+ readonly author?: string;
167
+ readonly creationDate?: Date;
168
+ readonly modificationDate?: Date;
169
+ readonly color?: Color;
170
+ }
171
+ /**
172
+ * Search options
173
+ */
174
+ export interface SearchOptions {
175
+ readonly caseSensitive?: boolean;
176
+ readonly wholeWord?: boolean;
177
+ readonly regex?: boolean;
178
+ readonly maxResults?: number;
179
+ readonly pageRange?: {
180
+ start: number;
181
+ end: number;
182
+ };
183
+ }
184
+ /**
185
+ * Search result
186
+ */
187
+ export interface SearchResult {
188
+ readonly pageIndex: number;
189
+ readonly text: string;
190
+ readonly x: number;
191
+ readonly y: number;
192
+ readonly width: number;
193
+ readonly height: number;
194
+ readonly context?: string;
195
+ }
196
+ /**
197
+ * Markdown conversion options
198
+ */
199
+ export interface MarkdownOptions {
200
+ readonly includeImages?: boolean;
201
+ readonly includeLinks?: boolean;
202
+ readonly preserveLayout?: boolean;
203
+ readonly pageRange?: {
204
+ start: number;
205
+ end: number;
206
+ };
207
+ }
208
+ /**
209
+ * HTML conversion options
210
+ */
211
+ export interface HtmlOptions {
212
+ readonly includeStyles?: boolean;
213
+ readonly includeImages?: boolean;
214
+ readonly embedImages?: boolean;
215
+ readonly pageRange?: {
216
+ start: number;
217
+ end: number;
218
+ };
219
+ }
220
+ /**
221
+ * Represents a single page in a PDF document
222
+ */
223
+ export interface PdfPage {
224
+ readonly index: number;
225
+ readonly width: number;
226
+ readonly height: number;
227
+ readonly rotation: number;
228
+ readonly mediaBox: Rect;
229
+ readonly cropBox?: Rect;
230
+ readonly bleedBox?: Rect;
231
+ readonly trimBox?: Rect;
232
+ readonly artBox?: Rect;
233
+ }
234
+ /**
235
+ * Main PDF document class
236
+ *
237
+ * Provides access to PDF document content, metadata, and structure.
238
+ * All operations are async to support non-blocking I/O.
239
+ *
240
+ * @example
241
+ * ```typescript
242
+ * // Open a document
243
+ * const doc = await PdfDocument.open('file.pdf');
244
+ *
245
+ * // Get page count
246
+ * const pages = await doc.pageCount();
247
+ *
248
+ * // Extract text from first page
249
+ * const text = await doc.extractText(0);
250
+ *
251
+ * // Get metadata
252
+ * const metadata = await doc.getMetadata();
253
+ *
254
+ * // Convert to markdown
255
+ * const markdown = await doc.toMarkdown();
256
+ * ```
257
+ */
258
+ export interface PdfDocument {
259
+ /**
260
+ * Open a PDF document from a file path
261
+ */
262
+ /**
263
+ * Open a PDF document from a buffer
264
+ */
265
+ /**
266
+ * Get the number of pages in the document
267
+ */
268
+ pageCount(): Promise<number>;
269
+ /**
270
+ * Get document metadata
271
+ */
272
+ getMetadata(): Promise<DocumentMetadata>;
273
+ /**
274
+ * Get page information
275
+ */
276
+ getPage(pageIndex: number): Promise<PdfPage>;
277
+ /**
278
+ * Extract text from a specific page
279
+ */
280
+ extractText(pageIndex: number): Promise<string>;
281
+ /**
282
+ * Extract text from a range of pages
283
+ */
284
+ extractTextRange(startPage: number, endPage: number): Promise<string[]>;
285
+ /**
286
+ * Extract all text from the document
287
+ */
288
+ extractAllText(): Promise<string>;
289
+ /**
290
+ * Get all form fields in the document
291
+ */
292
+ extractFormFields(): Promise<FormField[]>;
293
+ /**
294
+ * Get form field by name
295
+ */
296
+ getFormField(fieldName: string): Promise<FormField | undefined>;
297
+ /**
298
+ * Set form field value
299
+ */
300
+ setFormFieldValue(fieldName: string, value: string): Promise<boolean>;
301
+ /**
302
+ * Get annotations on a specific page
303
+ */
304
+ getAnnotations(pageIndex: number): Promise<Annotation[]>;
305
+ /**
306
+ * Get all annotations in the document
307
+ */
308
+ getAllAnnotations(): Promise<Annotation[]>;
309
+ /**
310
+ * Search for text in the document
311
+ */
312
+ search(query: string, options?: SearchOptions): Promise<SearchResult[]>;
313
+ /**
314
+ * Convert document to markdown
315
+ */
316
+ toMarkdown(options?: MarkdownOptions): Promise<string>;
317
+ /**
318
+ * Convert document to HTML
319
+ */
320
+ toHtml(options?: HtmlOptions): Promise<string>;
321
+ /**
322
+ * Close the document and release resources
323
+ */
324
+ close(): Promise<void>;
325
+ /**
326
+ * Check if document is open
327
+ */
328
+ isOpen(): boolean;
329
+ }
330
+ /**
331
+ * PdfDocument static methods (factory pattern)
332
+ */
333
+ export interface PdfDocumentStatic {
334
+ /**
335
+ * Open a PDF document from a file path
336
+ */
337
+ open(path: string, password?: string): Promise<PdfDocument>;
338
+ /**
339
+ * Open a PDF document from a buffer
340
+ */
341
+ openBuffer(buffer: Buffer, password?: string): Promise<PdfDocument>;
342
+ /**
343
+ * Create a new empty PDF document
344
+ */
345
+ create(): Promise<PdfDocument>;
346
+ }
347
+ /**
348
+ * Re-export PdfDocument from the main nodejs module
349
+ * This provides the actual implementation with full type safety
350
+ */
351
+ export { PdfDocument } from '../index.js';
352
+ export default PdfDocument;
353
+ //# sourceMappingURL=document-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-types.d.ts","sourceRoot":"","sources":["../../src/types/document-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * PdfDocument - TypeScript type definitions for pdf_oxide
3
+ *
4
+ * Provides complete type definitions for the PdfDocument class and related types.
5
+ * These types ensure type safety when using the pdf_oxide library in TypeScript.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { PdfDocument } from 'pdf_oxide';
10
+ *
11
+ * const doc = await PdfDocument.open('document.pdf');
12
+ * const pageCount = await doc.pageCount();
13
+ * const text = await doc.extractText(0);
14
+ * ```
15
+ */
16
+ /**
17
+ * Standard page sizes
18
+ */
19
+ export var PageSizeType;
20
+ (function (PageSizeType) {
21
+ PageSizeType["LETTER"] = "letter";
22
+ PageSizeType["LEGAL"] = "legal";
23
+ PageSizeType["A4"] = "a4";
24
+ PageSizeType["A3"] = "a3";
25
+ PageSizeType["A5"] = "a5";
26
+ PageSizeType["B4"] = "b4";
27
+ PageSizeType["TABLOID"] = "tabloid";
28
+ })(PageSizeType || (PageSizeType = {}));
29
+ // ============================================================================
30
+ // Form Fields
31
+ // ============================================================================
32
+ /**
33
+ * Form field type enumeration
34
+ */
35
+ export var FormFieldType;
36
+ (function (FormFieldType) {
37
+ FormFieldType["TEXT"] = "text";
38
+ FormFieldType["CHECKBOX"] = "checkbox";
39
+ FormFieldType["RADIO"] = "radio";
40
+ FormFieldType["COMBOBOX"] = "combobox";
41
+ FormFieldType["LISTBOX"] = "listbox";
42
+ FormFieldType["SIGNATURE"] = "signature";
43
+ FormFieldType["DATE"] = "date";
44
+ FormFieldType["BUTTON"] = "button";
45
+ })(FormFieldType || (FormFieldType = {}));
46
+ // ============================================================================
47
+ // Annotations
48
+ // ============================================================================
49
+ /**
50
+ * Annotation type enumeration
51
+ */
52
+ export var AnnotationType;
53
+ (function (AnnotationType) {
54
+ AnnotationType["TEXT"] = "text";
55
+ AnnotationType["LINK"] = "link";
56
+ AnnotationType["HIGHLIGHT"] = "highlight";
57
+ AnnotationType["UNDERLINE"] = "underline";
58
+ AnnotationType["STRIKEOUT"] = "strikeout";
59
+ AnnotationType["SQUIGGLY"] = "squiggly";
60
+ AnnotationType["STAMP"] = "stamp";
61
+ AnnotationType["CARET"] = "caret";
62
+ AnnotationType["INK"] = "ink";
63
+ AnnotationType["POPUP"] = "popup";
64
+ AnnotationType["FILE_ATTACHMENT"] = "file_attachment";
65
+ AnnotationType["SOUND"] = "sound";
66
+ AnnotationType["MOVIE"] = "movie";
67
+ AnnotationType["WIDGET"] = "widget";
68
+ AnnotationType["SCREEN"] = "screen";
69
+ AnnotationType["PRINTER_MARK"] = "printer_mark";
70
+ AnnotationType["TRAP_NET"] = "trap_net";
71
+ AnnotationType["WATERMARK"] = "watermark";
72
+ AnnotationType["REDACT"] = "redact";
73
+ })(AnnotationType || (AnnotationType = {}));
74
+ // ============================================================================
75
+ // Export PdfDocument (dynamically loaded from native module)
76
+ // ============================================================================
77
+ /**
78
+ * Re-export PdfDocument from the main nodejs module
79
+ * This provides the actual implementation with full type safety
80
+ */
81
+ export { PdfDocument } from '../index.js';
82
+ export default PdfDocument;
83
+ //# sourceMappingURL=document-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-types.js","sourceRoot":"","sources":["../../src/types/document-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkCH;;GAEG;AACH,MAAM,CAAN,IAAY,YAQX;AARD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,mCAAmB,CAAA;AACrB,CAAC,EARW,YAAY,KAAZ,YAAY,QAQvB;AAkCD,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAN,IAAY,aASX;AATD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,sCAAqB,CAAA;IACrB,gCAAe,CAAA;IACf,sCAAqB,CAAA;IACrB,oCAAmB,CAAA;IACnB,wCAAuB,CAAA;IACvB,8BAAa,CAAA;IACb,kCAAiB,CAAA;AACnB,CAAC,EATW,aAAa,KAAb,aAAa,QASxB;AAiDD,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAN,IAAY,cAoBX;AApBD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,+BAAa,CAAA;IACb,yCAAuB,CAAA;IACvB,yCAAuB,CAAA;IACvB,yCAAuB,CAAA;IACvB,uCAAqB,CAAA;IACrB,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,6BAAW,CAAA;IACX,iCAAe,CAAA;IACf,qDAAmC,CAAA;IACnC,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,+CAA6B,CAAA;IAC7B,uCAAqB,CAAA;IACrB,yCAAuB,CAAA;IACvB,mCAAiB,CAAA;AACnB,CAAC,EApBW,cAAc,KAAd,cAAc,QAoBzB;AAqQD,+EAA+E;AAC/E,6DAA6D;AAC7D,+EAA+E;AAE/E;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,eAAe,WAAW,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Type definitions index - re-exports all types for easy consumption
3
3
  */
4
-
5
4
  export * from './native-bindings';
6
5
  export * from './common';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Type definitions index - re-exports all types for easy consumption
3
+ */
4
+ export * from './native-bindings.js';
5
+ export * from './common.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,180 @@
1
+ /**
2
+ * TypeScript type definitions for all PDF Oxide managers
3
+ *
4
+ * Provides comprehensive type safety for Node.js and TypeScript consumers
5
+ * with full FFI integration and proper error handling.
6
+ */
7
+ import { EventEmitter } from 'events';
8
+ export interface PdfDocumentHandle {
9
+ readonly handle: unknown;
10
+ readonly pageCount: () => Promise<number>;
11
+ readonly extractText: (pageIndex: number) => Promise<string>;
12
+ readonly extractFormFields: () => Promise<FormField[]>;
13
+ readonly getMetadata: () => Promise<Record<string, string>>;
14
+ }
15
+ export declare enum OcrLanguage {
16
+ ENGLISH = "en",
17
+ CHINESE = "zh",
18
+ JAPANESE = "ja",
19
+ SPANISH = "es",
20
+ FRENCH = "fr",
21
+ PORTUGUESE = "pt",
22
+ RUSSIAN = "ru",
23
+ ARABIC = "ar",
24
+ KOREAN = "ko",
25
+ VIETNAMESE = "vi"
26
+ }
27
+ export interface TextRegion {
28
+ x: number;
29
+ y: number;
30
+ width: number;
31
+ height: number;
32
+ }
33
+ export interface OcrResult {
34
+ readonly pageIndex: number;
35
+ readonly text: string;
36
+ readonly confidence: number;
37
+ readonly regionCount: number;
38
+ }
39
+ export interface OcrBatchResult {
40
+ readonly startPage: number;
41
+ readonly endPage: number;
42
+ readonly totalPages: number;
43
+ readonly totalSpans: number;
44
+ readonly averageConfidence: number;
45
+ readonly skippedPages: number;
46
+ }
47
+ export declare enum ComplianceType {
48
+ PDF_A_1B = "pdf_a_1b",
49
+ PDF_A_2B = "pdf_a_2b",
50
+ PDF_A_3B = "pdf_a_3b",
51
+ PDF_X_1A = "pdf_x_1a",
52
+ PDF_X_3 = "pdf_x_3",
53
+ PDF_UA = "pdf_ua"
54
+ }
55
+ export interface ComplianceResult {
56
+ readonly type: string;
57
+ readonly valid: boolean;
58
+ readonly issues: readonly string[];
59
+ readonly severity: 'none' | 'low' | 'medium' | 'high' | 'critical';
60
+ }
61
+ export interface ComplianceReport {
62
+ readonly timestamp: number;
63
+ readonly results: ComplianceResult[];
64
+ readonly isFullyCompliant: boolean;
65
+ }
66
+ export interface CacheEntry<T> {
67
+ readonly key: string;
68
+ readonly value: T;
69
+ readonly timestamp: number;
70
+ readonly ttl?: number;
71
+ }
72
+ export interface CacheStats {
73
+ readonly cacheCount: number;
74
+ readonly totalEntries: number;
75
+ readonly totalSize: number;
76
+ readonly entriesByCache: Map<string, number>;
77
+ readonly hitRate: number;
78
+ readonly missRate: number;
79
+ }
80
+ export declare enum FormFieldType {
81
+ TEXT = "text",
82
+ CHECKBOX = "checkbox",
83
+ RADIO = "radio",
84
+ COMBOBOX = "combobox",
85
+ LISTBOX = "listbox",
86
+ SIGNATURE = "signature",
87
+ DATE = "date"
88
+ }
89
+ export interface FormField {
90
+ readonly name: string;
91
+ readonly type: FormFieldType;
92
+ readonly value: string;
93
+ readonly pageIndex: number;
94
+ readonly x: number;
95
+ readonly y: number;
96
+ readonly width: number;
97
+ readonly height: number;
98
+ readonly required?: boolean;
99
+ readonly readonly?: boolean;
100
+ }
101
+ export interface ManagerOptions {
102
+ readonly enableCache?: boolean;
103
+ readonly cacheSize?: number;
104
+ readonly enableEvents?: boolean;
105
+ readonly enableLogging?: boolean;
106
+ }
107
+ export interface ManagerState {
108
+ readonly initialized: boolean;
109
+ readonly hasDocument: boolean;
110
+ readonly operationCount: number;
111
+ readonly errorCount: number;
112
+ }
113
+ export interface ManagerEvent<T = Record<string, unknown>> {
114
+ readonly eventType: string;
115
+ readonly timestamp: number;
116
+ readonly data: T;
117
+ readonly manager: string;
118
+ }
119
+ export interface ErrorEvent extends ManagerEvent<{
120
+ error: Error;
121
+ operation: string;
122
+ }> {
123
+ }
124
+ export interface BatchOptions {
125
+ readonly pageSize?: number;
126
+ readonly parallelism?: number;
127
+ readonly timeout?: number;
128
+ readonly retryOnError?: boolean;
129
+ readonly maxRetries?: number;
130
+ }
131
+ export interface BatchProgress {
132
+ readonly processed: number;
133
+ readonly total: number;
134
+ readonly percentage: number;
135
+ readonly status: 'pending' | 'running' | 'completed' | 'failed';
136
+ }
137
+ export interface BatchResult<T> {
138
+ readonly data: T[];
139
+ readonly progress: BatchProgress;
140
+ readonly startTime: number;
141
+ readonly endTime: number;
142
+ readonly duration: number;
143
+ readonly errors: Error[];
144
+ }
145
+ export interface PdfMetadata {
146
+ readonly title?: string;
147
+ readonly author?: string;
148
+ readonly subject?: string;
149
+ readonly keywords?: string;
150
+ readonly creator?: string;
151
+ readonly producer?: string;
152
+ readonly creationDate?: Date;
153
+ readonly modificationDate?: Date;
154
+ readonly pageCount: number;
155
+ readonly format?: string;
156
+ }
157
+ export interface IManager extends EventEmitter {
158
+ readonly initialized: boolean;
159
+ destroy(): Promise<void>;
160
+ getState(): ManagerState;
161
+ }
162
+ export declare abstract class BaseManager<T extends PdfDocumentHandle = PdfDocumentHandle> extends EventEmitter implements IManager {
163
+ protected options: ManagerOptions;
164
+ private _initialized;
165
+ get initialized(): boolean;
166
+ protected set initialized(value: boolean);
167
+ protected document: T;
168
+ protected cache: Map<string, unknown>;
169
+ protected operationCount: number;
170
+ protected errorCount: number;
171
+ constructor(document: T, options?: ManagerOptions);
172
+ abstract destroy(): Promise<void>;
173
+ getState(): ManagerState;
174
+ protected recordOperation(): void;
175
+ protected recordError(error: Error): void;
176
+ protected getCached<V>(key: string): V | undefined;
177
+ protected setCached<V>(key: string, value: V): void;
178
+ protected invalidateCache(pattern?: string): void;
179
+ }
180
+ //# sourceMappingURL=manager-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager-types.d.ts","sourceRoot":"","sources":["../../src/types/manager-types.ts"],"names":[],"mappings":"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"}