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
@@ -1,517 +0,0 @@
1
- /**
2
- * Type definitions for PDF Oxide native bindings (C++ module via NAPI)
3
- *
4
- * These interfaces describe the structure of objects returned from the native module.
5
- * They are used for type checking and IDE auto-completion when working with the binding layer.
6
- */
7
-
8
- // ===== Geometry Types =====
9
-
10
- /**
11
- * Represents a rectangular area with coordinates and dimensions
12
- */
13
- export interface Rect {
14
- x: number;
15
- y: number;
16
- width: number;
17
- height: number;
18
- }
19
-
20
- /**
21
- * Represents a 2D point coordinate
22
- */
23
- export interface Point {
24
- x: number;
25
- y: number;
26
- }
27
-
28
- /**
29
- * Represents an RGB color value
30
- */
31
- export interface Color {
32
- red: number;
33
- green: number;
34
- blue: number;
35
- alpha?: number;
36
- }
37
-
38
- // ===== Document Info Types =====
39
-
40
- /**
41
- * Document metadata and properties
42
- */
43
- export interface DocumentInfo {
44
- title?: string;
45
- author?: string;
46
- subject?: string;
47
- keywords?: string[];
48
- creator?: string;
49
- producer?: string;
50
- creationDate?: Date;
51
- modificationDate?: Date;
52
- encrypted?: boolean;
53
- pages?: number;
54
- }
55
-
56
- /**
57
- * PDF document metadata
58
- */
59
- export interface Metadata {
60
- [key: string]: string | number | boolean | Date | undefined;
61
- }
62
-
63
- /**
64
- * Embedded file information
65
- */
66
- export interface EmbeddedFile {
67
- filename: string;
68
- mimeType?: string;
69
- size?: number;
70
- data?: Buffer;
71
- }
72
-
73
- // ===== Search Types =====
74
-
75
- /**
76
- * Result of a text search operation
77
- */
78
- export interface SearchResult {
79
- pageIndex: number;
80
- text: string;
81
- x: number;
82
- y: number;
83
- width: number;
84
- height: number;
85
- confidence?: number;
86
- }
87
-
88
- /**
89
- * Options for text search operations
90
- */
91
- export interface SearchOptions {
92
- caseSensitive?: boolean;
93
- wholeWords?: boolean;
94
- regex?: boolean;
95
- startPage?: number;
96
- endPage?: number;
97
- maxResults?: number;
98
- }
99
-
100
- /**
101
- * Options for document conversion
102
- */
103
- export interface ConversionOptions {
104
- format?: 'markdown' | 'text' | 'html';
105
- includeImages?: boolean;
106
- includeMetadata?: boolean;
107
- preserveLayout?: boolean;
108
- encoding?: string;
109
- }
110
-
111
- // ===== PDF Element Types =====
112
-
113
- /**
114
- * Base class for PDF elements (text, images, paths, etc.)
115
- */
116
- export interface PdfElement {
117
- type: string;
118
- bounds: Rect;
119
- rotation?: number;
120
- opacity?: number;
121
- blendMode?: string;
122
- }
123
-
124
- /**
125
- * Text element extracted from PDF
126
- */
127
- export interface PdfText extends PdfElement {
128
- type: 'text';
129
- content: string;
130
- fontSize?: number;
131
- fontName?: string;
132
- fontFamily?: string;
133
- bold?: boolean;
134
- italic?: boolean;
135
- color?: Color;
136
- }
137
-
138
- /**
139
- * Image element from PDF
140
- */
141
- export interface PdfImage extends PdfElement {
142
- type: 'image';
143
- width: number;
144
- height: number;
145
- colorSpace?: string;
146
- bitsPerComponent?: number;
147
- data?: Buffer;
148
- }
149
-
150
- /**
151
- * Vector path (graphics)
152
- */
153
- export interface PdfPath extends PdfElement {
154
- type: 'path';
155
- points: Point[];
156
- strokeColor?: Color;
157
- fillColor?: Color;
158
- lineWidth?: number;
159
- }
160
-
161
- /**
162
- * Table extracted from PDF
163
- */
164
- export interface PdfTable extends PdfElement {
165
- type: 'table';
166
- rows: number;
167
- columns: number;
168
- cells: PdfTableCell[][];
169
- }
170
-
171
- /**
172
- * Individual table cell
173
- */
174
- export interface PdfTableCell {
175
- text: string;
176
- rowSpan?: number;
177
- colSpan?: number;
178
- backgroundColor?: Color;
179
- borderColor?: Color;
180
- }
181
-
182
- // ===== Annotation Types =====
183
-
184
- /**
185
- * Base annotation interface
186
- */
187
- export interface Annotation {
188
- type: string;
189
- page: number;
190
- bounds: Rect;
191
- author?: string;
192
- content?: string;
193
- creationDate?: Date;
194
- modificationDate?: Date;
195
- flags?: number;
196
- }
197
-
198
- /**
199
- * Text annotation (sticky note style)
200
- */
201
- export interface TextAnnotation extends Annotation {
202
- type: 'text';
203
- icon?: string;
204
- color?: Color;
205
- }
206
-
207
- /**
208
- * Highlight annotation
209
- */
210
- export interface HighlightAnnotation extends Annotation {
211
- type: 'highlight';
212
- color?: Color;
213
- quadPoints?: Point[][];
214
- }
215
-
216
- /**
217
- * Link annotation
218
- */
219
- export interface LinkAnnotation extends Annotation {
220
- type: 'link';
221
- url?: string;
222
- destination?: {
223
- page: number;
224
- x?: number;
225
- y?: number;
226
- zoom?: number;
227
- };
228
- action?: string;
229
- }
230
-
231
- /**
232
- * Ink annotation (drawing/handwriting)
233
- */
234
- export interface InkAnnotation extends Annotation {
235
- type: 'ink';
236
- strokes: Point[][];
237
- color?: Color;
238
- thickness?: number;
239
- }
240
-
241
- /**
242
- * Square annotation
243
- */
244
- export interface SquareAnnotation extends Annotation {
245
- type: 'square';
246
- fillColor?: Color;
247
- strokeColor?: Color;
248
- lineWidth?: number;
249
- }
250
-
251
- /**
252
- * Circle annotation
253
- */
254
- export interface CircleAnnotation extends Annotation {
255
- type: 'circle';
256
- fillColor?: Color;
257
- strokeColor?: Color;
258
- lineWidth?: number;
259
- }
260
-
261
- /**
262
- * Line annotation
263
- */
264
- export interface LineAnnotation extends Annotation {
265
- type: 'line';
266
- startPoint: Point;
267
- endPoint: Point;
268
- color?: Color;
269
- lineWidth?: number;
270
- startLineStyle?: string;
271
- endLineStyle?: string;
272
- }
273
-
274
- /**
275
- * Polygon annotation
276
- */
277
- export interface PolygonAnnotation extends Annotation {
278
- type: 'polygon';
279
- vertices: Point[];
280
- fillColor?: Color;
281
- strokeColor?: Color;
282
- lineWidth?: number;
283
- }
284
-
285
- // ===== Native Class Interfaces =====
286
-
287
- /**
288
- * Native PdfDocument class interface
289
- */
290
- export interface NativePdfDocument {
291
- // Version info
292
- getVersion(): string;
293
- getPdfOxideVersion(): string;
294
-
295
- // Document properties
296
- getPageCount(): number;
297
- getTitle(): string | null;
298
- getAuthor(): string | null;
299
- getSubject(): string | null;
300
- getKeywords(): string[] | null;
301
- getCreationDate(): Date | null;
302
- getModificationDate(): Date | null;
303
- isEncrypted(): boolean;
304
- isLinearized(): boolean;
305
-
306
- // Metadata operations
307
- getMetadata(): Metadata;
308
- setMetadata(metadata: Metadata): void;
309
- getDocumentInfo(): DocumentInfo;
310
-
311
- // Text extraction
312
- extractText(pageIndex: number): string;
313
- extractTextAsync(pageIndex: number): Promise<string>;
314
- toMarkdown(): string;
315
- toMarkdownAsync(): Promise<string>;
316
- toHtml(): string;
317
-
318
- // Search operations
319
- search(text: string, options?: SearchOptions): SearchResult[];
320
- hasText(text: string, caseSensitive?: boolean): boolean;
321
-
322
- // Page access
323
- getPage(pageIndex: number): NativePdfPage;
324
- getPages(): NativePdfPage[];
325
-
326
- // Document manipulation
327
- saveToPath(path: string): void;
328
- saveToPdf(format?: string): Buffer;
329
- save_async(path: string): Promise<void>;
330
- saveToStream(stream: NodeJS.WritableStream): void;
331
-
332
- // Form operations
333
- getForms(): any;
334
- fillForms(values: Record<string, string>): void;
335
-
336
- // Embedded files
337
- getEmbeddedFiles(): EmbeddedFile[];
338
- extractEmbeddedFile(filename: string): Buffer;
339
-
340
- // Security operations
341
- encrypt(userPassword: string, ownerPassword?: string, permissions?: number): void;
342
- decrypt(password: string): boolean;
343
- setPermissions(permissions: number): void;
344
-
345
- // Outline/Bookmarks
346
- getOutline(): any[];
347
- setOutline(outline: any[]): void;
348
-
349
- // Document structure
350
- getStructure(): any;
351
- getPageLabels(): string[];
352
- setPageLabels(labels: string[]): void;
353
-
354
- // Layers (Optional Content)
355
- getLayers(): any[];
356
- setLayerVisibility(layerId: string, visible: boolean): void;
357
-
358
- // Cleanup
359
- close(): void;
360
- }
361
-
362
- /**
363
- * Native Pdf class interface (represents a PDF file)
364
- */
365
- export interface NativePdf {
366
- // Properties
367
- getPageCount(): number;
368
- getPageSizes(): Array<{ width: number; height: number }>;
369
- getPageSize(pageIndex: number): { width: number; height: number };
370
-
371
- // Page access
372
- getPage(pageIndex: number): NativePdfPage;
373
-
374
- // Rendering
375
- renderPage(pageIndex: number, options?: any): Buffer;
376
- renderPageToCanvas(pageIndex: number, canvas: any): void;
377
-
378
- // Manipulation
379
- addPage(width: number, height: number): NativePdfPage;
380
- removePage(pageIndex: number): void;
381
- insertPage(pageIndex: number, width: number, height: number): NativePdfPage;
382
- rotatePage(pageIndex: number, rotation: number): void;
383
-
384
- // Saving
385
- save_async(path: string): Promise<void>;
386
- saveToBuffer(): Buffer;
387
-
388
- // Cleanup
389
- close(): void;
390
- }
391
-
392
- /**
393
- * Native PdfPage class interface
394
- */
395
- export interface NativePdfPage {
396
- // Properties
397
- getIndex(): number;
398
- getWidth(): number;
399
- getHeight(): number;
400
- getRotation(): number;
401
- getMediaBox(): Rect;
402
- getCropBox(): Rect;
403
-
404
- // Content extraction
405
- extractText(): string;
406
- extractElements(): PdfElement[];
407
- getImages(): PdfImage[];
408
- getTables(): PdfTable[];
409
-
410
- // Rendering
411
- render(options?: any): Buffer;
412
- renderToCanvas(canvas: any): void;
413
-
414
- // Annotations
415
- getAnnotations(): Annotation[];
416
- addAnnotation(annotation: Annotation): void;
417
- removeAnnotation(annotationIndex: number): void;
418
-
419
- // Manipulation
420
- setMediaBox(rect: Rect): void;
421
- setCropBox(rect: Rect): void;
422
- rotate(rotation: number): void;
423
-
424
- // Drawing
425
- drawText(text: string, x: number, y: number, options?: any): void;
426
- drawImage(image: Buffer, x: number, y: number, width: number, height: number): void;
427
- drawPath(points: Point[], options?: any): void;
428
-
429
- // Search
430
- searchText(text: string, options?: SearchOptions): SearchResult[];
431
-
432
- // Cleanup
433
- close(): void;
434
- }
435
-
436
- /**
437
- * Native builder class interface
438
- */
439
- export interface NativePdfBuilder {
440
- // Fluent methods
441
- title(title: string): NativePdfBuilder;
442
- author(author: string): NativePdfBuilder;
443
- subject(subject: string): NativePdfBuilder;
444
- keywords(keywords: string[]): NativePdfBuilder;
445
- creator(creator: string): NativePdfBuilder;
446
- producer(producer: string): NativePdfBuilder;
447
-
448
- // Build method
449
- build(): NativePdf;
450
- }
451
-
452
- /**
453
- * Native text searcher interface
454
- */
455
- export interface NativeTextSearcher {
456
- search(text: string, options?: SearchOptions): SearchResult[];
457
- replaceAll(searchText: string, replaceText: string): number;
458
- getMatches(text: string): SearchResult[];
459
- }
460
-
461
- /**
462
- * Page size constants
463
- */
464
- export interface PageSizeConstants {
465
- A0: { width: number; height: number };
466
- A1: { width: number; height: number };
467
- A2: { width: number; height: number };
468
- A3: { width: number; height: number };
469
- A4: { width: number; height: number };
470
- A5: { width: number; height: number };
471
- Letter: { width: number; height: number };
472
- Legal: { width: number; height: number };
473
- Tabloid: { width: number; height: number };
474
- }
475
-
476
- /**
477
- * Complete native module interface
478
- */
479
- export interface NativeModule {
480
- // Version functions
481
- getVersion(): string;
482
- getPdfOxideVersion(): string;
483
-
484
- // Classes
485
- PdfDocument: new (...args: any[]) => NativePdfDocument;
486
- Pdf: new (...args: any[]) => NativePdf;
487
- PdfPage: new (...args: any[]) => NativePdfPage;
488
- PdfBuilder: new (...args: any[]) => NativePdfBuilder;
489
- TextSearcher: new (...args: any[]) => NativeTextSearcher;
490
-
491
- // Element types
492
- PdfElement: new (...args: any[]) => PdfElement;
493
- PdfText: new (...args: any[]) => PdfText;
494
- PdfImage: new (...args: any[]) => PdfImage;
495
- PdfPath: new (...args: any[]) => PdfPath;
496
- PdfTable: new (...args: any[]) => PdfTable;
497
- PdfStructure: new (...args: any[]) => any;
498
-
499
- // Annotation types
500
- Annotation: new (...args: any[]) => Annotation;
501
- TextAnnotation: new (...args: any[]) => TextAnnotation;
502
- HighlightAnnotation: new (...args: any[]) => HighlightAnnotation;
503
- LinkAnnotation: new (...args: any[]) => LinkAnnotation;
504
-
505
- // Type constants
506
- PageSize: PageSizeConstants;
507
- Rect: new (x: number, y: number, width: number, height: number) => Rect;
508
- Point: new (x: number, y: number) => Point;
509
- Color: new (red: number, green: number, blue: number, alpha?: number) => Color;
510
-
511
- // Options
512
- ConversionOptions: new (...args: any[]) => ConversionOptions;
513
- SearchOptions: new (...args: any[]) => SearchOptions;
514
- SearchResult: new (...args: any[]) => SearchResult;
515
-
516
- [key: string]: any;
517
- }