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,339 @@
1
+ /**
2
+ * Fluent builder for creating PDF documents with configuration
3
+ *
4
+ * Provides a fluent API for configuring PDF document metadata and options
5
+ * before document creation.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { PdfBuilder } from 'pdf_oxide';
10
+ *
11
+ * const pdf = PdfBuilder.create()
12
+ * .title('My Document')
13
+ * .author('John Doe')
14
+ * .subject('PDF Creation')
15
+ * .keywords(['pdf', 'document', 'example'])
16
+ * .fromMarkdown('# Content\n\nMarkdown text here');
17
+ *
18
+ * pdf.save('output.pdf');
19
+ * ```
20
+ */
21
+ export class PdfBuilder {
22
+ /**
23
+ * Creates a new PdfBuilder instance
24
+ * @private
25
+ */
26
+ constructor() {
27
+ this._keywords = [];
28
+ this._margins = {
29
+ top: 36,
30
+ bottom: 36,
31
+ left: 36,
32
+ right: 36,
33
+ };
34
+ }
35
+ /**
36
+ * Creates a new PdfBuilder instance
37
+ * @returns New builder instance
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * const builder = PdfBuilder.create();
42
+ * ```
43
+ */
44
+ static create() {
45
+ return new PdfBuilder();
46
+ }
47
+ /**
48
+ * Sets the document title
49
+ * @param title - The document title
50
+ * @returns This builder for chaining
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * builder.title('My Document Title');
55
+ * ```
56
+ */
57
+ title(title) {
58
+ if (typeof title !== 'string' || title.length === 0) {
59
+ throw new Error('Title must be a non-empty string');
60
+ }
61
+ this._title = title;
62
+ return this;
63
+ }
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) {
75
+ if (typeof author !== 'string' || author.length === 0) {
76
+ throw new Error('Author must be a non-empty string');
77
+ }
78
+ this._author = author;
79
+ return this;
80
+ }
81
+ /**
82
+ * Sets the document subject
83
+ * @param subject - The document subject
84
+ * @returns This builder for chaining
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * builder.subject('Technical Documentation');
89
+ * ```
90
+ */
91
+ subject(subject) {
92
+ if (typeof subject !== 'string' || subject.length === 0) {
93
+ throw new Error('Subject must be a non-empty string');
94
+ }
95
+ this._subject = subject;
96
+ return this;
97
+ }
98
+ /**
99
+ * Sets the document keywords
100
+ * @param keywords - Array of keywords
101
+ * @returns This builder for chaining
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * builder.keywords(['PDF', 'Document', 'Generation']);
106
+ * ```
107
+ */
108
+ keywords(keywords) {
109
+ if (!Array.isArray(keywords)) {
110
+ throw new Error('Keywords must be an array');
111
+ }
112
+ if (!keywords.every((k) => typeof k === 'string')) {
113
+ throw new Error('All keywords must be strings');
114
+ }
115
+ this._keywords = keywords;
116
+ return this;
117
+ }
118
+ /**
119
+ * Adds a single keyword to the document
120
+ * @param keyword - A keyword to add
121
+ * @returns This builder for chaining
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * builder.addKeyword('Important').addKeyword('Urgent');
126
+ * ```
127
+ */
128
+ addKeyword(keyword) {
129
+ if (typeof keyword !== 'string' || keyword.length === 0) {
130
+ throw new Error('Keyword must be a non-empty string');
131
+ }
132
+ this._keywords.push(keyword);
133
+ return this;
134
+ }
135
+ /**
136
+ * Sets the default page size
137
+ * @param pageSize - Page size name (e.g., 'Letter', 'A4', 'Legal')
138
+ * @returns This builder for chaining
139
+ *
140
+ * @example
141
+ * ```typescript
142
+ * builder.pageSize('A4');
143
+ * ```
144
+ */
145
+ pageSize(pageSize) {
146
+ const validSizes = ['Letter', 'Legal', 'A4', 'A3', 'A5', 'B4', 'B5'];
147
+ if (!validSizes.includes(pageSize)) {
148
+ throw new Error(`Invalid page size. Must be one of: ${validSizes.join(', ')}`);
149
+ }
150
+ this._pageSize = pageSize;
151
+ return this;
152
+ }
153
+ /**
154
+ * Sets page margins
155
+ * @param top - Top margin in points
156
+ * @param right - Right margin in points
157
+ * @param bottom - Bottom margin in points
158
+ * @param left - Left margin in points
159
+ * @returns This builder for chaining
160
+ *
161
+ * @example
162
+ * ```typescript
163
+ * builder.margins(36, 36, 36, 36); // 0.5 inches on all sides
164
+ * ```
165
+ */
166
+ margins(top, right, bottom, left) {
167
+ if (![top, right, bottom, left].every((m) => typeof m === 'number' && m >= 0)) {
168
+ throw new Error('All margins must be non-negative numbers');
169
+ }
170
+ this._margins = { top, right, bottom, left };
171
+ return this;
172
+ }
173
+ /**
174
+ * Creates a PDF document from Markdown content
175
+ * @param markdown - Markdown formatted content
176
+ * @returns The created PDF document
177
+ * @throws PdfError if PDF creation fails
178
+ *
179
+ * @example
180
+ * ```typescript
181
+ * const pdf = builder.fromMarkdown('# Title\n\nContent here');
182
+ * ```
183
+ */
184
+ fromMarkdown(markdown) {
185
+ // Note: Using any for Pdf type to avoid circular dependency
186
+ const { Pdf } = require('../index.js');
187
+ if (typeof markdown !== 'string') {
188
+ throw new Error('Markdown must be a string');
189
+ }
190
+ const pdf = Pdf.fromMarkdown(markdown);
191
+ this._applyConfiguration(pdf);
192
+ return pdf;
193
+ }
194
+ /**
195
+ * Creates a PDF document from HTML content
196
+ * @param html - HTML formatted content
197
+ * @returns The created PDF document
198
+ * @throws PdfError if PDF creation fails
199
+ *
200
+ * @example
201
+ * ```typescript
202
+ * const pdf = builder.fromHtml('<h1>Title</h1><p>Content</p>');
203
+ * ```
204
+ */
205
+ fromHtml(html) {
206
+ const { Pdf } = require('../index.js');
207
+ if (typeof html !== 'string') {
208
+ throw new Error('HTML must be a string');
209
+ }
210
+ const pdf = Pdf.fromHtml(html);
211
+ this._applyConfiguration(pdf);
212
+ return pdf;
213
+ }
214
+ /**
215
+ * Creates a PDF document from plain text content
216
+ * @param text - Plain text content
217
+ * @returns The created PDF document
218
+ * @throws PdfError if PDF creation fails
219
+ *
220
+ * @example
221
+ * ```typescript
222
+ * const pdf = builder.fromText('Plain text content');
223
+ * ```
224
+ */
225
+ fromText(text) {
226
+ const { Pdf } = require('../index.js');
227
+ if (typeof text !== 'string') {
228
+ throw new Error('Text must be a string');
229
+ }
230
+ const pdf = Pdf.fromText(text);
231
+ this._applyConfiguration(pdf);
232
+ return pdf;
233
+ }
234
+ /**
235
+ * Asynchronously creates a PDF document from Markdown content
236
+ * @param markdown - Markdown formatted content
237
+ * @returns Promise that resolves to the created PDF document
238
+ * @throws PdfError if PDF creation fails
239
+ *
240
+ * @example
241
+ * ```typescript
242
+ * const pdf = await builder.fromMarkdownAsync('# Title\n\nContent');
243
+ * ```
244
+ */
245
+ async fromMarkdownAsync(markdown) {
246
+ const { Pdf } = require('../index.js');
247
+ if (typeof markdown !== 'string') {
248
+ throw new Error('Markdown must be a string');
249
+ }
250
+ const pdf = await Pdf.fromMarkdownAsync(markdown);
251
+ this._applyConfiguration(pdf);
252
+ return pdf;
253
+ }
254
+ /**
255
+ * Asynchronously creates a PDF document from HTML content
256
+ * @param html - HTML formatted content
257
+ * @returns Promise that resolves to the created PDF document
258
+ * @throws PdfError if PDF creation fails
259
+ *
260
+ * @example
261
+ * ```typescript
262
+ * const pdf = await builder.fromHtmlAsync('<h1>Title</h1>');
263
+ * ```
264
+ */
265
+ async fromHtmlAsync(html) {
266
+ const { Pdf } = require('../index.js');
267
+ if (typeof html !== 'string') {
268
+ throw new Error('HTML must be a string');
269
+ }
270
+ const pdf = await Pdf.fromHtmlAsync(html);
271
+ this._applyConfiguration(pdf);
272
+ return pdf;
273
+ }
274
+ /**
275
+ * Asynchronously creates a PDF document from plain text content
276
+ * @param text - Plain text content
277
+ * @returns Promise that resolves to the created PDF document
278
+ * @throws PdfError if PDF creation fails
279
+ *
280
+ * @example
281
+ * ```typescript
282
+ * const pdf = await builder.fromTextAsync('Plain text');
283
+ * ```
284
+ */
285
+ async fromTextAsync(text) {
286
+ const { Pdf } = require('../index.js');
287
+ if (typeof text !== 'string') {
288
+ throw new Error('Text must be a string');
289
+ }
290
+ const pdf = await Pdf.fromTextAsync(text);
291
+ this._applyConfiguration(pdf);
292
+ return pdf;
293
+ }
294
+ /**
295
+ * Gets the current configuration as a plain object
296
+ * @returns Configuration object with title, author, subject, keywords
297
+ *
298
+ * @private
299
+ */
300
+ _getConfiguration() {
301
+ return {
302
+ title: this._title,
303
+ author: this._author,
304
+ subject: this._subject,
305
+ keywords: this._keywords,
306
+ pageSize: this._pageSize,
307
+ margins: this._margins,
308
+ };
309
+ }
310
+ /**
311
+ * Applies builder configuration to a PDF document
312
+ * @param pdf - The PDF document to configure
313
+ * @private
314
+ */
315
+ _applyConfiguration(pdf) {
316
+ // Apply metadata properties if set
317
+ if (this._title !== undefined) {
318
+ pdf.title = this._title;
319
+ }
320
+ if (this._author !== undefined) {
321
+ pdf.author = this._author;
322
+ }
323
+ if (this._subject !== undefined) {
324
+ pdf.subject = this._subject;
325
+ }
326
+ if (this._keywords.length > 0) {
327
+ pdf.keywords = [...this._keywords];
328
+ }
329
+ }
330
+ }
331
+ /**
332
+ * Create a new PdfBuilder with static factory
333
+ * @deprecated Use PdfBuilder.create() instead
334
+ * @returns New builder instance
335
+ */
336
+ export function createPdfBuilder() {
337
+ return PdfBuilder.create();
338
+ }
339
+ //# sourceMappingURL=pdf-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf-builder.js","sourceRoot":"","sources":["../../src/builders/pdf-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Builder for text search options
3
+ *
4
+ * Configures how text search is performed in PDF documents,
5
+ * including case sensitivity, whole word matching, and regex support.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { SearchOptionsBuilder } from 'pdf_oxide';
10
+ *
11
+ * const options = SearchOptionsBuilder.create()
12
+ * .caseSensitive(false)
13
+ * .wholeWords(true)
14
+ * .useRegex(false)
15
+ * .build();
16
+ *
17
+ * const results = doc.search('pattern', 0, options);
18
+ * ```
19
+ */
20
+ export interface SearchOptions {
21
+ caseSensitive: boolean;
22
+ wholeWords: boolean;
23
+ useRegex: boolean;
24
+ ignoreAccents: boolean;
25
+ maxResults: number;
26
+ searchAnnotations: boolean;
27
+ }
28
+ export declare class SearchOptionsBuilder {
29
+ private _caseSensitive;
30
+ private _wholeWords;
31
+ private _useRegex;
32
+ private _ignoreAccents;
33
+ private _maxResults;
34
+ private _searchAnnotations;
35
+ /**
36
+ * Creates a new SearchOptionsBuilder instance
37
+ * @private
38
+ */
39
+ private constructor();
40
+ /**
41
+ * Creates a new SearchOptionsBuilder instance
42
+ * @returns New builder instance
43
+ */
44
+ static create(): SearchOptionsBuilder;
45
+ /**
46
+ * Creates options with default search settings (case-insensitive, no regex)
47
+ * @returns Search options with default preset
48
+ */
49
+ static default(): SearchOptions;
50
+ /**
51
+ * Creates options with strict search settings (case-sensitive, whole words, no regex)
52
+ * @returns Search options with strict preset
53
+ */
54
+ static strict(): SearchOptions;
55
+ /**
56
+ * Creates options with regex search settings
57
+ * @returns Search options with regex preset
58
+ */
59
+ static regex(): SearchOptions;
60
+ caseSensitive(sensitive: boolean): this;
61
+ wholeWords(wholeOnly: boolean): this;
62
+ useRegex(regex: boolean): this;
63
+ ignoreAccents(ignore: boolean): this;
64
+ maxResults(max: number): this;
65
+ searchAnnotations(search: boolean): this;
66
+ build(): SearchOptions;
67
+ }
68
+ /**
69
+ * Create a new SearchOptionsBuilder with static factory
70
+ * @deprecated Use SearchOptionsBuilder.create() instead
71
+ * @returns New builder instance
72
+ */
73
+ export declare function createSearchOptionsBuilder(): SearchOptionsBuilder;
74
+ //# sourceMappingURL=search-options-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-options-builder.d.ts","sourceRoot":"","sources":["../../src/builders/search-options-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,kBAAkB,CAAkB;IAE5C;;;OAGG;IACH,OAAO;IAEP;;;OAGG;IACH,MAAM,CAAC,MAAM,IAAI,oBAAoB;IAIrC;;;OAGG;IACH,MAAM,CAAC,OAAO,IAAI,aAAa;IAI/B;;;OAGG;IACH,MAAM,CAAC,MAAM,IAAI,aAAa;IAQ9B;;;OAGG;IACH,MAAM,CAAC,KAAK,IAAI,aAAa;IAQ7B,aAAa,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAQvC,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAQpC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAQ9B,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAQpC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQ7B,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAQxC,KAAK,IAAI,aAAa;CAUvB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,oBAAoB,CAEjE"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Builder for text search options
3
+ *
4
+ * Configures how text search is performed in PDF documents,
5
+ * including case sensitivity, whole word matching, and regex support.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { SearchOptionsBuilder } from 'pdf_oxide';
10
+ *
11
+ * const options = SearchOptionsBuilder.create()
12
+ * .caseSensitive(false)
13
+ * .wholeWords(true)
14
+ * .useRegex(false)
15
+ * .build();
16
+ *
17
+ * const results = doc.search('pattern', 0, options);
18
+ * ```
19
+ */
20
+ export class SearchOptionsBuilder {
21
+ /**
22
+ * Creates a new SearchOptionsBuilder instance
23
+ * @private
24
+ */
25
+ constructor() {
26
+ this._caseSensitive = false;
27
+ this._wholeWords = false;
28
+ this._useRegex = false;
29
+ this._ignoreAccents = false;
30
+ this._maxResults = 1000;
31
+ this._searchAnnotations = false;
32
+ }
33
+ /**
34
+ * Creates a new SearchOptionsBuilder instance
35
+ * @returns New builder instance
36
+ */
37
+ static create() {
38
+ return new SearchOptionsBuilder();
39
+ }
40
+ /**
41
+ * Creates options with default search settings (case-insensitive, no regex)
42
+ * @returns Search options with default preset
43
+ */
44
+ static default() {
45
+ return SearchOptionsBuilder.create().build();
46
+ }
47
+ /**
48
+ * Creates options with strict search settings (case-sensitive, whole words, no regex)
49
+ * @returns Search options with strict preset
50
+ */
51
+ static strict() {
52
+ return SearchOptionsBuilder.create()
53
+ .caseSensitive(true)
54
+ .wholeWords(true)
55
+ .useRegex(false)
56
+ .build();
57
+ }
58
+ /**
59
+ * Creates options with regex search settings
60
+ * @returns Search options with regex preset
61
+ */
62
+ static regex() {
63
+ return SearchOptionsBuilder.create()
64
+ .useRegex(true)
65
+ .caseSensitive(false)
66
+ .wholeWords(false)
67
+ .build();
68
+ }
69
+ caseSensitive(sensitive) {
70
+ if (typeof sensitive !== 'boolean') {
71
+ throw new Error('caseSensitive must be a boolean');
72
+ }
73
+ this._caseSensitive = sensitive;
74
+ return this;
75
+ }
76
+ wholeWords(wholeOnly) {
77
+ if (typeof wholeOnly !== 'boolean') {
78
+ throw new Error('wholeWords must be a boolean');
79
+ }
80
+ this._wholeWords = wholeOnly;
81
+ return this;
82
+ }
83
+ useRegex(regex) {
84
+ if (typeof regex !== 'boolean') {
85
+ throw new Error('useRegex must be a boolean');
86
+ }
87
+ this._useRegex = regex;
88
+ return this;
89
+ }
90
+ ignoreAccents(ignore) {
91
+ if (typeof ignore !== 'boolean') {
92
+ throw new Error('ignoreAccents must be a boolean');
93
+ }
94
+ this._ignoreAccents = ignore;
95
+ return this;
96
+ }
97
+ maxResults(max) {
98
+ if (typeof max !== 'number' || max <= 0) {
99
+ throw new Error('maxResults must be a positive number');
100
+ }
101
+ this._maxResults = Math.floor(max);
102
+ return this;
103
+ }
104
+ searchAnnotations(search) {
105
+ if (typeof search !== 'boolean') {
106
+ throw new Error('searchAnnotations must be a boolean');
107
+ }
108
+ this._searchAnnotations = search;
109
+ return this;
110
+ }
111
+ build() {
112
+ return {
113
+ caseSensitive: this._caseSensitive,
114
+ wholeWords: this._wholeWords,
115
+ useRegex: this._useRegex,
116
+ ignoreAccents: this._ignoreAccents,
117
+ maxResults: this._maxResults,
118
+ searchAnnotations: this._searchAnnotations,
119
+ };
120
+ }
121
+ }
122
+ /**
123
+ * Create a new SearchOptionsBuilder with static factory
124
+ * @deprecated Use SearchOptionsBuilder.create() instead
125
+ * @returns New builder instance
126
+ */
127
+ export function createSearchOptionsBuilder() {
128
+ return SearchOptionsBuilder.create();
129
+ }
130
+ //# sourceMappingURL=search-options-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-options-builder.js","sourceRoot":"","sources":["../../src/builders/search-options-builder.ts"],"names":[],"mappings":"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"}