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,215 @@
1
+ /**
2
+ * Builder for conversion options when converting PDF to other formats
3
+ *
4
+ * Configures how PDFs are converted to Markdown, HTML, or other text formats
5
+ * with options for formatting, image handling, and content extraction.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { ConversionOptionsBuilder } from 'pdf_oxide';
10
+ *
11
+ * const options = ConversionOptionsBuilder.create()
12
+ * .preserveFormatting(true)
13
+ * .includeImages(true)
14
+ * .detectHeadings(true)
15
+ * .detectTables(true)
16
+ * .build();
17
+ *
18
+ * const doc = PdfDocument.open('file.pdf');
19
+ * const markdown = doc.toMarkdown(0, options);
20
+ * ```
21
+ */
22
+ export class ConversionOptionsBuilder {
23
+ /**
24
+ * Creates a new ConversionOptionsBuilder instance
25
+ * @private
26
+ */
27
+ constructor() {
28
+ this._preserveFormatting = true;
29
+ this._detectHeadings = true;
30
+ this._detectTables = true;
31
+ this._detectLists = true;
32
+ this._includeImages = true;
33
+ this._imageFormat = 'png';
34
+ this._imageQuality = 85;
35
+ this._maxImageDimension = 2048;
36
+ this._outputEncoding = 'utf-8';
37
+ this._normalizeWhitespace = true;
38
+ this._extractAnnotations = false;
39
+ this._useStructureTree = true;
40
+ }
41
+ /**
42
+ * Creates a new ConversionOptionsBuilder instance
43
+ * @returns New builder instance
44
+ */
45
+ static create() {
46
+ return new ConversionOptionsBuilder();
47
+ }
48
+ /**
49
+ * Creates options with default settings optimized for readability
50
+ * @returns Conversion options with default preset
51
+ */
52
+ static default() {
53
+ return ConversionOptionsBuilder.create().build();
54
+ }
55
+ /**
56
+ * Creates options optimized for text-only extraction
57
+ * @returns Conversion options with text-only preset
58
+ */
59
+ static textOnly() {
60
+ return ConversionOptionsBuilder.create()
61
+ .preserveFormatting(false)
62
+ .detectHeadings(true)
63
+ .detectTables(false)
64
+ .detectLists(false)
65
+ .includeImages(false)
66
+ .build();
67
+ }
68
+ /**
69
+ * Creates options optimized for maximum quality and detail preservation
70
+ * @returns Conversion options with high-quality preset
71
+ */
72
+ static highQuality() {
73
+ return ConversionOptionsBuilder.create()
74
+ .preserveFormatting(true)
75
+ .detectHeadings(true)
76
+ .detectTables(true)
77
+ .detectLists(true)
78
+ .includeImages(true)
79
+ .imageQuality(95)
80
+ .normalizeWhitespace(false)
81
+ .build();
82
+ }
83
+ /**
84
+ * Creates options for fast, basic conversion
85
+ * @returns Conversion options with fast preset
86
+ */
87
+ static fast() {
88
+ return ConversionOptionsBuilder.create()
89
+ .preserveFormatting(false)
90
+ .detectHeadings(false)
91
+ .detectTables(false)
92
+ .detectLists(false)
93
+ .includeImages(false)
94
+ .normalizeWhitespace(true)
95
+ .build();
96
+ }
97
+ preserveFormatting(preserve) {
98
+ if (typeof preserve !== 'boolean') {
99
+ throw new Error('preserveFormatting must be a boolean');
100
+ }
101
+ this._preserveFormatting = preserve;
102
+ return this;
103
+ }
104
+ detectHeadings(detect) {
105
+ if (typeof detect !== 'boolean') {
106
+ throw new Error('detectHeadings must be a boolean');
107
+ }
108
+ this._detectHeadings = detect;
109
+ return this;
110
+ }
111
+ detectTables(detect) {
112
+ if (typeof detect !== 'boolean') {
113
+ throw new Error('detectTables must be a boolean');
114
+ }
115
+ this._detectTables = detect;
116
+ return this;
117
+ }
118
+ detectLists(detect) {
119
+ if (typeof detect !== 'boolean') {
120
+ throw new Error('detectLists must be a boolean');
121
+ }
122
+ this._detectLists = detect;
123
+ return this;
124
+ }
125
+ includeImages(include) {
126
+ if (typeof include !== 'boolean') {
127
+ throw new Error('includeImages must be a boolean');
128
+ }
129
+ this._includeImages = include;
130
+ return this;
131
+ }
132
+ imageFormat(format) {
133
+ const validFormats = ['png', 'jpg', 'jpeg', 'webp'];
134
+ if (!validFormats.includes(format.toLowerCase())) {
135
+ throw new Error(`Invalid image format. Must be one of: ${validFormats.join(', ')}`);
136
+ }
137
+ this._imageFormat = format.toLowerCase();
138
+ return this;
139
+ }
140
+ imageQuality(quality) {
141
+ if (typeof quality !== 'number' || quality < 0 || quality > 100) {
142
+ throw new Error('imageQuality must be a number between 0 and 100');
143
+ }
144
+ this._imageQuality = quality;
145
+ return this;
146
+ }
147
+ maxImageDimension(maxDimension) {
148
+ if (typeof maxDimension !== 'number' || maxDimension <= 0) {
149
+ throw new Error('maxImageDimension must be a positive number');
150
+ }
151
+ this._maxImageDimension = maxDimension;
152
+ return this;
153
+ }
154
+ outputEncoding(encoding) {
155
+ if (typeof encoding !== 'string' || encoding.length === 0) {
156
+ throw new Error('outputEncoding must be a non-empty string');
157
+ }
158
+ this._outputEncoding = encoding;
159
+ return this;
160
+ }
161
+ normalizeWhitespace(normalize) {
162
+ if (typeof normalize !== 'boolean') {
163
+ throw new Error('normalizeWhitespace must be a boolean');
164
+ }
165
+ this._normalizeWhitespace = normalize;
166
+ return this;
167
+ }
168
+ extractAnnotations(extract) {
169
+ if (typeof extract !== 'boolean') {
170
+ throw new Error('extractAnnotations must be a boolean');
171
+ }
172
+ this._extractAnnotations = extract;
173
+ return this;
174
+ }
175
+ useStructureTree(use) {
176
+ if (typeof use !== 'boolean') {
177
+ throw new Error('useStructureTree must be a boolean');
178
+ }
179
+ this._useStructureTree = use;
180
+ return this;
181
+ }
182
+ pageRange(start, end) {
183
+ if (typeof start !== 'number' || typeof end !== 'number' || start < 0 || end < start) {
184
+ throw new Error('pageRange must have valid start and end indices');
185
+ }
186
+ this._pageRange = { start, end };
187
+ return this;
188
+ }
189
+ build() {
190
+ return {
191
+ preserveFormatting: this._preserveFormatting,
192
+ detectHeadings: this._detectHeadings,
193
+ detectTables: this._detectTables,
194
+ detectLists: this._detectLists,
195
+ includeImages: this._includeImages,
196
+ imageFormat: this._imageFormat,
197
+ imageQuality: this._imageQuality,
198
+ maxImageDimension: this._maxImageDimension,
199
+ outputEncoding: this._outputEncoding,
200
+ normalizeWhitespace: this._normalizeWhitespace,
201
+ extractAnnotations: this._extractAnnotations,
202
+ useStructureTree: this._useStructureTree,
203
+ pageRange: this._pageRange,
204
+ };
205
+ }
206
+ }
207
+ /**
208
+ * Create a new ConversionOptionsBuilder with static factory
209
+ * @deprecated Use ConversionOptionsBuilder.create() instead
210
+ * @returns New builder instance
211
+ */
212
+ export function createConversionOptionsBuilder() {
213
+ return ConversionOptionsBuilder.create();
214
+ }
215
+ //# sourceMappingURL=conversion-options-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversion-options-builder.js","sourceRoot":"","sources":["../../src/builders/conversion-options-builder.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,9 @@
4
4
  * This module exports builder classes that implement the fluent builder pattern
5
5
  * for configuring PDF documents, annotations, search options, metadata, and conversion.
6
6
  */
7
-
8
7
  export * from './pdf-builder';
9
8
  export * from './conversion-options-builder';
10
9
  export * from './metadata-builder';
11
10
  export * from './annotation-builder';
12
11
  export * from './search-options-builder';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/builders/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * PDF Oxide Builders - Fluent APIs for configuring PDF operations
3
+ *
4
+ * This module exports builder classes that implement the fluent builder pattern
5
+ * for configuring PDF documents, annotations, search options, metadata, and conversion.
6
+ */
7
+ export * from './pdf-builder.js';
8
+ export * from './conversion-options-builder.js';
9
+ export * from './metadata-builder.js';
10
+ export * from './annotation-builder.js';
11
+ export * from './search-options-builder.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/builders/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,202 @@
1
+ /**
2
+ * Builder for document metadata configuration
3
+ *
4
+ * Configures document information like title, author, subject, keywords,
5
+ * creation date, and custom properties.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { MetadataBuilder } from 'pdf_oxide';
10
+ *
11
+ * const metadata = MetadataBuilder.create()
12
+ * .title('My Document')
13
+ * .author('John Doe')
14
+ * .subject('Important Information')
15
+ * .keywords(['document', 'important', 'example'])
16
+ * .creator('MyApp v1.0')
17
+ * .build();
18
+ *
19
+ * pdf.setMetadata(metadata);
20
+ * ```
21
+ */
22
+ export interface Metadata {
23
+ title?: string;
24
+ author?: string;
25
+ subject?: string;
26
+ keywords: string[];
27
+ creator?: string;
28
+ producer: string;
29
+ creationDate: Date;
30
+ modificationDate: Date;
31
+ customProperties: Record<string, string>;
32
+ }
33
+ export declare class MetadataBuilder {
34
+ private _title?;
35
+ private _author?;
36
+ private _subject?;
37
+ private _keywords;
38
+ private _creator?;
39
+ private _producer;
40
+ private _creationDate;
41
+ private _modificationDate;
42
+ private _customProperties;
43
+ /**
44
+ * Creates a new MetadataBuilder instance
45
+ * @private
46
+ */
47
+ private constructor();
48
+ /**
49
+ * Creates a new MetadataBuilder instance
50
+ * @returns New builder instance
51
+ */
52
+ static create(): MetadataBuilder;
53
+ /**
54
+ * Sets the document title
55
+ * @param title - The document title
56
+ * @returns This builder for chaining
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * builder.title('Project Report 2024');
61
+ * ```
62
+ */
63
+ title(title: string): this;
64
+ /**
65
+ * Sets the document author
66
+ * @param author - The author name
67
+ * @returns This builder for chaining
68
+ *
69
+ * @example
70
+ * ```typescript
71
+ * builder.author('Jane Doe');
72
+ * ```
73
+ */
74
+ author(author: string): this;
75
+ /**
76
+ * Sets the document subject
77
+ * @param subject - The document subject
78
+ * @returns This builder for chaining
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * builder.subject('Annual Report');
83
+ * ```
84
+ */
85
+ subject(subject: string): this;
86
+ /**
87
+ * Sets document keywords
88
+ * @param keywords - Array of keywords
89
+ * @returns This builder for chaining
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * builder.keywords(['report', 'annual', 'financial']);
94
+ * ```
95
+ */
96
+ keywords(keywords: string[]): this;
97
+ /**
98
+ * Adds a single keyword
99
+ * @param keyword - A keyword to add
100
+ * @returns This builder for chaining
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * builder.addKeyword('Important').addKeyword('Urgent');
105
+ * ```
106
+ */
107
+ addKeyword(keyword: string): this;
108
+ /**
109
+ * Sets the creator application name
110
+ * @param creator - Name of the application that created the document
111
+ * @returns This builder for chaining
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * builder.creator('MyApp v2.1.0');
116
+ * ```
117
+ */
118
+ creator(creator: string): this;
119
+ /**
120
+ * Sets the PDF producer (usually the library/tool that saved it)
121
+ * @param producer - Name of the PDF producer
122
+ * @returns This builder for chaining
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * builder.producer('PDF Oxide v0.3.2');
127
+ * ```
128
+ */
129
+ producer(producer: string): this;
130
+ /**
131
+ * Sets the document creation date
132
+ * @param date - The creation date
133
+ * @returns This builder for chaining
134
+ *
135
+ * @example
136
+ * ```typescript
137
+ * builder.creationDate(new Date('2024-01-15'));
138
+ * ```
139
+ */
140
+ creationDate(date: Date): this;
141
+ /**
142
+ * Sets the document modification date
143
+ * @param date - The modification date
144
+ * @returns This builder for chaining
145
+ *
146
+ * @example
147
+ * ```typescript
148
+ * builder.modificationDate(new Date());
149
+ * ```
150
+ */
151
+ modificationDate(date: Date): this;
152
+ /**
153
+ * Sets a custom metadata property
154
+ * @param key - Property key
155
+ * @param value - Property value
156
+ * @returns This builder for chaining
157
+ *
158
+ * @example
159
+ * ```typescript
160
+ * builder.customProperty('Department', 'Engineering');
161
+ * builder.customProperty('Classification', 'Confidential');
162
+ * ```
163
+ */
164
+ customProperty(key: string, value: string): this;
165
+ /**
166
+ * Sets multiple custom metadata properties
167
+ * @param properties - Object with key-value pairs
168
+ * @returns This builder for chaining
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * builder.customProperties({
173
+ * Department: 'Engineering',
174
+ * Classification: 'Confidential',
175
+ * ProjectCode: 'PROJ-2024-001'
176
+ * });
177
+ * ```
178
+ */
179
+ customProperties(properties: Record<string, string>): this;
180
+ /**
181
+ * Builds and returns the metadata object
182
+ * @returns Immutable metadata object
183
+ *
184
+ * @example
185
+ * ```typescript
186
+ * const metadata = builder.build();
187
+ * ```
188
+ */
189
+ build(): Metadata;
190
+ /**
191
+ * Creates metadata with current timestamp
192
+ * @returns This builder with current modification date
193
+ */
194
+ withCurrentDate(): this;
195
+ }
196
+ /**
197
+ * Create a new MetadataBuilder with static factory
198
+ * @deprecated Use MetadataBuilder.create() instead
199
+ * @returns New builder instance
200
+ */
201
+ export declare function createMetadataBuilder(): MetadataBuilder;
202
+ //# sourceMappingURL=metadata-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-builder.d.ts","sourceRoot":"","sources":["../../src/builders/metadata-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,IAAI,CAAC;IACnB,gBAAgB,EAAE,IAAI,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,iBAAiB,CAA8B;IAEvD;;;OAGG;IACH,OAAO;IAEP;;;OAGG;IACH,MAAM,CAAC,MAAM,IAAI,eAAe;IAIhC;;;;;;;;;OASG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ1B;;;;;;;;;OASG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;;;;;;;OASG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQ9B;;;;;;;;;OASG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAWlC;;;;;;;;;OASG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUjC;;;;;;;;;OASG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQ9B;;;;;;;;;OASG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQhC;;;;;;;;;OASG;IACH,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAQ9B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAQlC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAWhD;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAa1D;;;;;;;;OAQG;IACH,KAAK,IAAI,QAAQ;IAcjB;;;OAGG;IACH,eAAe,IAAI,IAAI;CAIxB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD"}