pdf-oxide 0.3.24 → 0.3.29

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,143 @@
1
+ /**
2
+ * Manager for PDF page-level operations
3
+ *
4
+ * Provides methods to query page count, dimensions, and validate indices.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import { PageManager } from 'pdf_oxide';
9
+ *
10
+ * const doc = PdfDocument.open('document.pdf');
11
+ * const pageManager = new PageManager(doc);
12
+ *
13
+ * console.log(`Document has ${pageManager.getPageCount()} pages`);
14
+ *
15
+ * if (pageManager.isValidPageIndex(5)) {
16
+ * const info = pageManager.getPageInfo(5);
17
+ * console.log(`Page 5: ${info.width} x ${info.height} points`);
18
+ * }
19
+ * ```
20
+ */
21
+ export interface PageInfo {
22
+ index: number;
23
+ width: number;
24
+ height: number;
25
+ }
26
+ export interface PageRange {
27
+ firstPage: number;
28
+ lastPage: number;
29
+ }
30
+ export interface PageStatistics {
31
+ count: number;
32
+ minWidth: number;
33
+ maxWidth: number;
34
+ minHeight: number;
35
+ maxHeight: number;
36
+ averageWidth: number;
37
+ averageHeight: number;
38
+ hasVariableSizes: boolean;
39
+ }
40
+ export declare class PageManager {
41
+ private _document;
42
+ private _cache;
43
+ /**
44
+ * Creates a new PageManager for the given document
45
+ * @param document - The PDF document
46
+ * @throws Error if document is null or undefined
47
+ */
48
+ constructor(document: any);
49
+ /**
50
+ * Clears the page cache
51
+ */
52
+ clearCache(): void;
53
+ /**
54
+ * Gets the total number of pages in the document
55
+ * @returns Number of pages
56
+ */
57
+ getPageCount(): number;
58
+ /**
59
+ * Checks if a page index is valid for this document
60
+ * @param pageIndex - Page index to validate (0-based)
61
+ * @returns True if the page index is valid
62
+ */
63
+ isValidPageIndex(pageIndex: number): boolean;
64
+ /**
65
+ * Gets information about a specific page
66
+ * @param pageIndex - Page index (0-based)
67
+ * @returns PageInfo object with page dimensions
68
+ * @throws Error if page index is invalid
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * const info = manager.getPageInfo(0);
73
+ * console.log(`Page 0: ${info.width} x ${info.height} points`);
74
+ * ```
75
+ */
76
+ getPageInfo(pageIndex: number): PageInfo;
77
+ /**
78
+ * Gets information about all pages in the document
79
+ * @returns Array of PageInfo objects
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * const pages = manager.getAllPageInfo();
84
+ * pages.forEach(page => {
85
+ * console.log(`Page ${page.index}: ${page.width} x ${page.height}`);
86
+ * });
87
+ * ```
88
+ */
89
+ getAllPageInfo(): PageInfo[];
90
+ /**
91
+ * Checks if the document has no pages
92
+ * @returns True if the document has no pages
93
+ */
94
+ isEmpty(): boolean;
95
+ /**
96
+ * Checks if the document has more than one page
97
+ * @returns True if document has multiple pages
98
+ */
99
+ hasMultiplePages(): boolean;
100
+ /**
101
+ * Gets the valid page range
102
+ * @returns Object with firstPage and lastPage indices
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * const range = manager.getPageRange();
107
+ * console.log(`Page range: ${range.firstPage} to ${range.lastPage}`);
108
+ * ```
109
+ */
110
+ getPageRange(): PageRange;
111
+ /**
112
+ * Gets page dimension statistics
113
+ * @returns Statistics about page dimensions
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * const stats = manager.getPageStatistics();
118
+ * console.log(`Average width: ${stats.averageWidth}`);
119
+ * console.log(`Pages vary in size: ${stats.hasVariableSizes}`);
120
+ * ```
121
+ */
122
+ getPageStatistics(): PageStatistics;
123
+ /**
124
+ * Gets pages within a specific size range
125
+ * @param minWidth - Minimum width
126
+ * @param maxWidth - Maximum width
127
+ * @param minHeight - Minimum height
128
+ * @param maxHeight - Maximum height
129
+ * @returns Matching PageInfo objects
130
+ */
131
+ getPagesInSizeRange(minWidth: number, maxWidth: number, minHeight: number, maxHeight: number): PageInfo[];
132
+ /**
133
+ * Gets landscape pages
134
+ * @returns Array of landscape PageInfo objects
135
+ */
136
+ getLandscapePages(): PageInfo[];
137
+ /**
138
+ * Gets portrait pages
139
+ * @returns Array of portrait PageInfo objects
140
+ */
141
+ getPortraitPages(): PageInfo[];
142
+ }
143
+ //# sourceMappingURL=page-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-manager.d.ts","sourceRoot":"","sources":["../../src/managers/page-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,MAAM,CAAmB;IAEjC;;;;OAIG;gBACS,QAAQ,EAAE,GAAG;IAQzB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;;OAGG;IACH,YAAY,IAAI,MAAM;IAetB;;;;OAIG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAO5C;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ;IA4BxC;;;;;;;;;;;OAWG;IACH,cAAc,IAAI,QAAQ,EAAE;IAgB5B;;;OAGG;IACH,OAAO,IAAI,OAAO;IAIlB;;;OAGG;IACH,gBAAgB,IAAI,OAAO;IAI3B;;;;;;;;;OASG;IACH,YAAY,IAAI,SAAS;IAQzB;;;;;;;;;;OAUG;IACH,iBAAiB,IAAI,cAAc;IAuCnC;;;;;;;OAOG;IACH,mBAAmB,CACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,QAAQ,EAAE;IAQb;;;OAGG;IACH,iBAAiB,IAAI,QAAQ,EAAE;IAK/B;;;OAGG;IACH,gBAAgB,IAAI,QAAQ,EAAE;CAI/B"}
@@ -0,0 +1,237 @@
1
+ /**
2
+ * Manager for PDF page-level operations
3
+ *
4
+ * Provides methods to query page count, dimensions, and validate indices.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import { PageManager } from 'pdf_oxide';
9
+ *
10
+ * const doc = PdfDocument.open('document.pdf');
11
+ * const pageManager = new PageManager(doc);
12
+ *
13
+ * console.log(`Document has ${pageManager.getPageCount()} pages`);
14
+ *
15
+ * if (pageManager.isValidPageIndex(5)) {
16
+ * const info = pageManager.getPageInfo(5);
17
+ * console.log(`Page 5: ${info.width} x ${info.height} points`);
18
+ * }
19
+ * ```
20
+ */
21
+ export class PageManager {
22
+ /**
23
+ * Creates a new PageManager for the given document
24
+ * @param document - The PDF document
25
+ * @throws Error if document is null or undefined
26
+ */
27
+ constructor(document) {
28
+ if (!document) {
29
+ throw new Error('Document is required');
30
+ }
31
+ this._document = document;
32
+ this._cache = new Map();
33
+ }
34
+ /**
35
+ * Clears the page cache
36
+ */
37
+ clearCache() {
38
+ this._cache.clear();
39
+ }
40
+ /**
41
+ * Gets the total number of pages in the document
42
+ * @returns Number of pages
43
+ */
44
+ getPageCount() {
45
+ const cacheKey = 'page:count';
46
+ if (this._cache.has(cacheKey)) {
47
+ return this._cache.get(cacheKey);
48
+ }
49
+ try {
50
+ const count = this._document.pageCount || 0;
51
+ this._cache.set(cacheKey, count);
52
+ return count;
53
+ }
54
+ catch (error) {
55
+ return 0;
56
+ }
57
+ }
58
+ /**
59
+ * Checks if a page index is valid for this document
60
+ * @param pageIndex - Page index to validate (0-based)
61
+ * @returns True if the page index is valid
62
+ */
63
+ isValidPageIndex(pageIndex) {
64
+ if (pageIndex < 0) {
65
+ return false;
66
+ }
67
+ return pageIndex < this.getPageCount();
68
+ }
69
+ /**
70
+ * Gets information about a specific page
71
+ * @param pageIndex - Page index (0-based)
72
+ * @returns PageInfo object with page dimensions
73
+ * @throws Error if page index is invalid
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * const info = manager.getPageInfo(0);
78
+ * console.log(`Page 0: ${info.width} x ${info.height} points`);
79
+ * ```
80
+ */
81
+ getPageInfo(pageIndex) {
82
+ const cacheKey = `page:info:${pageIndex}`;
83
+ if (this._cache.has(cacheKey)) {
84
+ return this._cache.get(cacheKey);
85
+ }
86
+ if (!this.isValidPageIndex(pageIndex)) {
87
+ throw new Error(`Invalid page index: ${pageIndex}`);
88
+ }
89
+ try {
90
+ const page = this._document.getPage(pageIndex);
91
+ const info = {
92
+ index: pageIndex,
93
+ width: page?.width || 0,
94
+ height: page?.height || 0,
95
+ };
96
+ this._cache.set(cacheKey, info);
97
+ return info;
98
+ }
99
+ catch (error) {
100
+ return {
101
+ index: pageIndex,
102
+ width: 0,
103
+ height: 0,
104
+ };
105
+ }
106
+ }
107
+ /**
108
+ * Gets information about all pages in the document
109
+ * @returns Array of PageInfo objects
110
+ *
111
+ * @example
112
+ * ```typescript
113
+ * const pages = manager.getAllPageInfo();
114
+ * pages.forEach(page => {
115
+ * console.log(`Page ${page.index}: ${page.width} x ${page.height}`);
116
+ * });
117
+ * ```
118
+ */
119
+ getAllPageInfo() {
120
+ const cacheKey = 'page:info:all';
121
+ if (this._cache.has(cacheKey)) {
122
+ return this._cache.get(cacheKey);
123
+ }
124
+ const count = this.getPageCount();
125
+ const pages = [];
126
+ for (let i = 0; i < count; i++) {
127
+ pages.push(this.getPageInfo(i));
128
+ }
129
+ this._cache.set(cacheKey, pages);
130
+ return pages;
131
+ }
132
+ /**
133
+ * Checks if the document has no pages
134
+ * @returns True if the document has no pages
135
+ */
136
+ isEmpty() {
137
+ return this.getPageCount() === 0;
138
+ }
139
+ /**
140
+ * Checks if the document has more than one page
141
+ * @returns True if document has multiple pages
142
+ */
143
+ hasMultiplePages() {
144
+ return this.getPageCount() > 1;
145
+ }
146
+ /**
147
+ * Gets the valid page range
148
+ * @returns Object with firstPage and lastPage indices
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * const range = manager.getPageRange();
153
+ * console.log(`Page range: ${range.firstPage} to ${range.lastPage}`);
154
+ * ```
155
+ */
156
+ getPageRange() {
157
+ const count = this.getPageCount();
158
+ if (count === 0) {
159
+ return { firstPage: 0, lastPage: -1 };
160
+ }
161
+ return { firstPage: 0, lastPage: count - 1 };
162
+ }
163
+ /**
164
+ * Gets page dimension statistics
165
+ * @returns Statistics about page dimensions
166
+ *
167
+ * @example
168
+ * ```typescript
169
+ * const stats = manager.getPageStatistics();
170
+ * console.log(`Average width: ${stats.averageWidth}`);
171
+ * console.log(`Pages vary in size: ${stats.hasVariableSizes}`);
172
+ * ```
173
+ */
174
+ getPageStatistics() {
175
+ const pages = this.getAllPageInfo();
176
+ if (pages.length === 0) {
177
+ return {
178
+ count: 0,
179
+ minWidth: 0,
180
+ maxWidth: 0,
181
+ minHeight: 0,
182
+ maxHeight: 0,
183
+ averageWidth: 0,
184
+ averageHeight: 0,
185
+ hasVariableSizes: false,
186
+ };
187
+ }
188
+ const widths = pages.map(p => p.width);
189
+ const heights = pages.map(p => p.height);
190
+ const minWidth = Math.min(...widths);
191
+ const maxWidth = Math.max(...widths);
192
+ const minHeight = Math.min(...heights);
193
+ const maxHeight = Math.max(...heights);
194
+ const averageWidth = widths.reduce((a, b) => a + b, 0) / widths.length;
195
+ const averageHeight = heights.reduce((a, b) => a + b, 0) / heights.length;
196
+ return {
197
+ count: pages.length,
198
+ minWidth,
199
+ maxWidth,
200
+ minHeight,
201
+ maxHeight,
202
+ averageWidth,
203
+ averageHeight,
204
+ hasVariableSizes: minWidth !== maxWidth || minHeight !== maxHeight,
205
+ };
206
+ }
207
+ /**
208
+ * Gets pages within a specific size range
209
+ * @param minWidth - Minimum width
210
+ * @param maxWidth - Maximum width
211
+ * @param minHeight - Minimum height
212
+ * @param maxHeight - Maximum height
213
+ * @returns Matching PageInfo objects
214
+ */
215
+ getPagesInSizeRange(minWidth, maxWidth, minHeight, maxHeight) {
216
+ const pages = this.getAllPageInfo();
217
+ return pages.filter(p => p.width >= minWidth && p.width <= maxWidth &&
218
+ p.height >= minHeight && p.height <= maxHeight);
219
+ }
220
+ /**
221
+ * Gets landscape pages
222
+ * @returns Array of landscape PageInfo objects
223
+ */
224
+ getLandscapePages() {
225
+ const pages = this.getAllPageInfo();
226
+ return pages.filter(p => p.width > p.height);
227
+ }
228
+ /**
229
+ * Gets portrait pages
230
+ * @returns Array of portrait PageInfo objects
231
+ */
232
+ getPortraitPages() {
233
+ const pages = this.getAllPageInfo();
234
+ return pages.filter(p => p.height > p.width);
235
+ }
236
+ }
237
+ //# sourceMappingURL=page-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-manager.js","sourceRoot":"","sources":["../../src/managers/page-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Pattern Detection Manager - TypeScript/Node.js Implementation
3
+ *
4
+ * Provides ML-powered pattern detection for PDF analysis:
5
+ * - Table detection and extraction
6
+ * - Column detection and analysis
7
+ * - Barcode detection and decoding
8
+ * - Form field detection
9
+ * - Layout pattern recognition
10
+ */
11
+ import type { PdfDocument } from "../types/document-types.js";
12
+ /**
13
+ * Represents a detected table region on a page.
14
+ */
15
+ export interface TableRegion {
16
+ readonly x: number;
17
+ readonly y: number;
18
+ readonly width: number;
19
+ readonly height: number;
20
+ readonly rowCount?: number;
21
+ readonly columnCount?: number;
22
+ readonly confidence?: number;
23
+ }
24
+ /**
25
+ * Represents a detected column region on a page.
26
+ */
27
+ export interface ColumnRegion {
28
+ readonly x: number;
29
+ readonly y: number;
30
+ readonly width: number;
31
+ readonly height: number;
32
+ readonly columnIndex?: number;
33
+ readonly confidence?: number;
34
+ }
35
+ /**
36
+ * Represents a detected barcode.
37
+ */
38
+ export interface BarcodeRegion {
39
+ readonly x: number;
40
+ readonly y: number;
41
+ readonly width: number;
42
+ readonly height: number;
43
+ readonly format: string;
44
+ readonly value: string;
45
+ readonly confidence?: number;
46
+ }
47
+ /**
48
+ * Represents a detected form field.
49
+ */
50
+ export interface FormFieldRegion {
51
+ readonly x: number;
52
+ readonly y: number;
53
+ readonly width: number;
54
+ readonly height: number;
55
+ readonly fieldType: string;
56
+ readonly fieldName?: string;
57
+ readonly confidence?: number;
58
+ }
59
+ /**
60
+ * Layout pattern type enumeration.
61
+ */
62
+ export declare enum LayoutPatternType {
63
+ SINGLE_COLUMN = "single_column",
64
+ MULTI_COLUMN = "multi_column",
65
+ TABLE_BASED = "table_based",
66
+ FORM_BASED = "form_based",
67
+ MAGAZINE_STYLE = "magazine_style",
68
+ COMPLEX_MIXED = "complex_mixed"
69
+ }
70
+ /**
71
+ * Detected layout pattern.
72
+ */
73
+ export interface LayoutPattern {
74
+ readonly pageIndex: number;
75
+ readonly patternType: LayoutPatternType;
76
+ readonly confidence: number;
77
+ readonly regions: Array<TableRegion | ColumnRegion>;
78
+ }
79
+ /**
80
+ * Pattern Detection Manager for TypeScript/Node.js
81
+ *
82
+ * Provides detection and analysis of common patterns in PDF documents.
83
+ */
84
+ export declare class PatternDetectionManager {
85
+ private readonly document;
86
+ private readonly cache;
87
+ /**
88
+ * Create a new PatternDetectionManager.
89
+ */
90
+ constructor(document: PdfDocument);
91
+ /**
92
+ * Detect tables on a specific page.
93
+ *
94
+ * @param pageIndex - Index of the page to analyze
95
+ * @returns Array of detected table regions
96
+ */
97
+ detectTables(pageIndex: number): Promise<TableRegion[]>;
98
+ /**
99
+ * Detect columns on a specific page.
100
+ *
101
+ * @param pageIndex - Index of the page to analyze
102
+ * @returns Array of detected column regions
103
+ */
104
+ detectColumns(pageIndex: number): Promise<ColumnRegion[]>;
105
+ /**
106
+ * Detect barcodes on a specific page.
107
+ *
108
+ * @param pageIndex - Index of the page to analyze
109
+ * @returns Array of detected barcodes
110
+ */
111
+ detectBarcodes(pageIndex: number): Promise<BarcodeRegion[]>;
112
+ /**
113
+ * Detect form fields on a specific page.
114
+ *
115
+ * @param pageIndex - Index of the page to analyze
116
+ * @returns Array of detected form fields
117
+ */
118
+ detectFormFields(pageIndex: number): Promise<FormFieldRegion[]>;
119
+ /**
120
+ * Analyze layout pattern of a page.
121
+ *
122
+ * @param pageIndex - Index of the page to analyze
123
+ * @returns Detected layout pattern
124
+ */
125
+ analyzeLayoutPattern(pageIndex: number): Promise<LayoutPattern>;
126
+ /**
127
+ * Detect all patterns on a specific page.
128
+ *
129
+ * @param pageIndex - Index of the page to analyze
130
+ * @returns Object with all detected patterns
131
+ */
132
+ detectAllPatterns(pageIndex: number): Promise<{
133
+ tables: TableRegion[];
134
+ columns: ColumnRegion[];
135
+ barcodes: BarcodeRegion[];
136
+ formFields: FormFieldRegion[];
137
+ layout: LayoutPattern;
138
+ }>;
139
+ /**
140
+ * Analyze patterns across entire document.
141
+ *
142
+ * @returns Array of layout patterns for each page
143
+ */
144
+ analyzeDocumentPatterns(): Promise<LayoutPattern[]>;
145
+ /**
146
+ * Find pages with specific pattern type.
147
+ *
148
+ * @param patternType - Pattern type to find
149
+ * @returns Array of page indices with the specified pattern
150
+ */
151
+ findPagesWithPattern(patternType: LayoutPatternType): Promise<number[]>;
152
+ /**
153
+ * Get pattern statistics for the document.
154
+ *
155
+ * @returns Statistics about detected patterns
156
+ */
157
+ getPatternStatistics(): Promise<{
158
+ totalPages: number;
159
+ pagesWithTables: number;
160
+ pagesWithColumns: number;
161
+ avgTablesPerPage: number;
162
+ avgColumnsPerPage: number;
163
+ }>;
164
+ /**
165
+ * Clear the internal cache.
166
+ */
167
+ clearCache(): void;
168
+ }
169
+ export default PatternDetectionManager;
170
+ //# sourceMappingURL=pattern-detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pattern-detection.d.ts","sourceRoot":"","sources":["../../src/managers/pattern-detection.ts"],"names":[],"mappings":"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"}