@lexmata/micropdf 0.6.0 → 0.8.0

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.
package/dist/bun.js ADDED
@@ -0,0 +1,569 @@
1
+ // @bun
2
+ var __defProp = Object.defineProperty;
3
+ var __export = (target, all) => {
4
+ for (var name in all)
5
+ __defProp(target, name, {
6
+ get: all[name],
7
+ enumerable: true,
8
+ configurable: true,
9
+ set: (newValue) => all[name] = () => newValue
10
+ });
11
+ };
12
+
13
+ // bun/ffi.ts
14
+ var exports_ffi = {};
15
+ __export(exports_ffi, {
16
+ toCString: () => toCString,
17
+ readFloats: () => readFloats,
18
+ readBuffer: () => readBuffer,
19
+ lib: () => lib,
20
+ fz_translate: () => fz_translate,
21
+ fz_scale: () => fz_scale,
22
+ fz_rotate: () => fz_rotate,
23
+ fz_pixmap_width: () => fz_pixmap_width,
24
+ fz_pixmap_stride: () => fz_pixmap_stride,
25
+ fz_pixmap_samples: () => fz_pixmap_samples,
26
+ fz_pixmap_height: () => fz_pixmap_height,
27
+ fz_open_document_with_buffer: () => fz_open_document_with_buffer,
28
+ fz_open_document: () => fz_open_document,
29
+ fz_new_stext_page_from_page: () => fz_new_stext_page_from_page,
30
+ fz_new_pixmap_from_page: () => fz_new_pixmap_from_page,
31
+ fz_new_context: () => fz_new_context,
32
+ fz_new_buffer_from_stext_page: () => fz_new_buffer_from_stext_page,
33
+ fz_new_buffer_from_pixmap_as_png: () => fz_new_buffer_from_pixmap_as_png,
34
+ fz_new_buffer: () => fz_new_buffer,
35
+ fz_needs_password: () => fz_needs_password,
36
+ fz_lookup_metadata: () => fz_lookup_metadata,
37
+ fz_load_page: () => fz_load_page,
38
+ fz_identity: () => fz_identity,
39
+ fz_drop_stext_page: () => fz_drop_stext_page,
40
+ fz_drop_pixmap: () => fz_drop_pixmap,
41
+ fz_drop_page: () => fz_drop_page,
42
+ fz_drop_document: () => fz_drop_document,
43
+ fz_drop_context: () => fz_drop_context,
44
+ fz_drop_buffer: () => fz_drop_buffer,
45
+ fz_device_rgb: () => fz_device_rgb,
46
+ fz_device_gray: () => fz_device_gray,
47
+ fz_device_cmyk: () => fz_device_cmyk,
48
+ fz_count_pages: () => fz_count_pages,
49
+ fz_clone_context: () => fz_clone_context,
50
+ fz_buffer_data: () => fz_buffer_data,
51
+ fz_bound_page: () => fz_bound_page,
52
+ fz_authenticate_password: () => fz_authenticate_password,
53
+ fromCString: () => fromCString,
54
+ FZ_STORE_DEFAULT: () => FZ_STORE_DEFAULT
55
+ });
56
+ import { dlopen, FFIType, suffix, ptr } from "bun:ffi";
57
+ import { existsSync } from "fs";
58
+ import { join } from "path";
59
+ var __dirname = "/home/joseph/Projects/Lexmata/micropdf/micropdf-js/bun";
60
+ var LIBRARY_EXTENSION = suffix;
61
+ var LIBRARY_PREFIX = process.platform === "win32" ? "" : "lib";
62
+ function findLibrary() {
63
+ const possiblePaths = [
64
+ join(__dirname, "../../../micropdf-rs/target/release", `${LIBRARY_PREFIX}micropdf${LIBRARY_EXTENSION}`),
65
+ join(__dirname, "../../../micropdf-rs/target/debug", `${LIBRARY_PREFIX}micropdf${LIBRARY_EXTENSION}`),
66
+ `/usr/local/lib/${LIBRARY_PREFIX}micropdf${LIBRARY_EXTENSION}`,
67
+ `/usr/lib/${LIBRARY_PREFIX}micropdf${LIBRARY_EXTENSION}`
68
+ ];
69
+ for (const path of possiblePaths) {
70
+ if (existsSync(path)) {
71
+ return path;
72
+ }
73
+ }
74
+ throw new Error("Could not find libmicropdf library. " + "Please build the Rust library first: cd micropdf-rs && cargo build --release");
75
+ }
76
+ var symbols = {
77
+ fz_new_context: {
78
+ args: [FFIType.ptr, FFIType.ptr, FFIType.u64],
79
+ returns: FFIType.u64
80
+ },
81
+ fz_drop_context: {
82
+ args: [FFIType.u64],
83
+ returns: FFIType.void
84
+ },
85
+ fz_clone_context: {
86
+ args: [FFIType.u64],
87
+ returns: FFIType.u64
88
+ },
89
+ fz_open_document: {
90
+ args: [FFIType.u64, FFIType.ptr],
91
+ returns: FFIType.u64
92
+ },
93
+ fz_open_document_with_buffer: {
94
+ args: [FFIType.u64, FFIType.ptr, FFIType.ptr, FFIType.u64],
95
+ returns: FFIType.u64
96
+ },
97
+ fz_drop_document: {
98
+ args: [FFIType.u64, FFIType.u64],
99
+ returns: FFIType.void
100
+ },
101
+ fz_count_pages: {
102
+ args: [FFIType.u64, FFIType.u64],
103
+ returns: FFIType.i32
104
+ },
105
+ fz_needs_password: {
106
+ args: [FFIType.u64, FFIType.u64],
107
+ returns: FFIType.i32
108
+ },
109
+ fz_authenticate_password: {
110
+ args: [FFIType.u64, FFIType.u64, FFIType.ptr],
111
+ returns: FFIType.i32
112
+ },
113
+ fz_lookup_metadata: {
114
+ args: [FFIType.u64, FFIType.u64, FFIType.ptr, FFIType.ptr, FFIType.i32],
115
+ returns: FFIType.i32
116
+ },
117
+ fz_load_page: {
118
+ args: [FFIType.u64, FFIType.u64, FFIType.i32],
119
+ returns: FFIType.u64
120
+ },
121
+ fz_drop_page: {
122
+ args: [FFIType.u64, FFIType.u64],
123
+ returns: FFIType.void
124
+ },
125
+ fz_bound_page: {
126
+ args: [FFIType.u64, FFIType.u64],
127
+ returns: FFIType.ptr
128
+ },
129
+ fz_new_pixmap_from_page: {
130
+ args: [FFIType.u64, FFIType.u64, FFIType.ptr, FFIType.u64, FFIType.i32],
131
+ returns: FFIType.u64
132
+ },
133
+ fz_drop_pixmap: {
134
+ args: [FFIType.u64, FFIType.u64],
135
+ returns: FFIType.void
136
+ },
137
+ fz_pixmap_width: {
138
+ args: [FFIType.u64, FFIType.u64],
139
+ returns: FFIType.i32
140
+ },
141
+ fz_pixmap_height: {
142
+ args: [FFIType.u64, FFIType.u64],
143
+ returns: FFIType.i32
144
+ },
145
+ fz_pixmap_samples: {
146
+ args: [FFIType.u64, FFIType.u64],
147
+ returns: FFIType.ptr
148
+ },
149
+ fz_pixmap_stride: {
150
+ args: [FFIType.u64, FFIType.u64],
151
+ returns: FFIType.i32
152
+ },
153
+ fz_new_buffer: {
154
+ args: [FFIType.u64, FFIType.u64],
155
+ returns: FFIType.u64
156
+ },
157
+ fz_drop_buffer: {
158
+ args: [FFIType.u64, FFIType.u64],
159
+ returns: FFIType.void
160
+ },
161
+ fz_buffer_data: {
162
+ args: [FFIType.u64, FFIType.u64, FFIType.ptr],
163
+ returns: FFIType.ptr
164
+ },
165
+ fz_new_buffer_from_pixmap_as_png: {
166
+ args: [FFIType.u64, FFIType.u64, FFIType.i32],
167
+ returns: FFIType.u64
168
+ },
169
+ fz_new_stext_page_from_page: {
170
+ args: [FFIType.u64, FFIType.u64, FFIType.ptr],
171
+ returns: FFIType.u64
172
+ },
173
+ fz_drop_stext_page: {
174
+ args: [FFIType.u64, FFIType.u64],
175
+ returns: FFIType.void
176
+ },
177
+ fz_new_buffer_from_stext_page: {
178
+ args: [FFIType.u64, FFIType.u64],
179
+ returns: FFIType.u64
180
+ },
181
+ fz_identity: {
182
+ args: [],
183
+ returns: FFIType.ptr
184
+ },
185
+ fz_scale: {
186
+ args: [FFIType.f32, FFIType.f32],
187
+ returns: FFIType.ptr
188
+ },
189
+ fz_translate: {
190
+ args: [FFIType.f32, FFIType.f32],
191
+ returns: FFIType.ptr
192
+ },
193
+ fz_rotate: {
194
+ args: [FFIType.f32],
195
+ returns: FFIType.ptr
196
+ },
197
+ fz_device_rgb: {
198
+ args: [FFIType.u64],
199
+ returns: FFIType.u64
200
+ },
201
+ fz_device_gray: {
202
+ args: [FFIType.u64],
203
+ returns: FFIType.u64
204
+ },
205
+ fz_device_cmyk: {
206
+ args: [FFIType.u64],
207
+ returns: FFIType.u64
208
+ }
209
+ };
210
+ var libraryPath = findLibrary();
211
+ var lib = dlopen(libraryPath, symbols);
212
+ var {
213
+ fz_new_context,
214
+ fz_drop_context,
215
+ fz_clone_context,
216
+ fz_open_document,
217
+ fz_open_document_with_buffer,
218
+ fz_drop_document,
219
+ fz_count_pages,
220
+ fz_needs_password,
221
+ fz_authenticate_password,
222
+ fz_lookup_metadata,
223
+ fz_load_page,
224
+ fz_drop_page,
225
+ fz_bound_page,
226
+ fz_new_pixmap_from_page,
227
+ fz_drop_pixmap,
228
+ fz_pixmap_width,
229
+ fz_pixmap_height,
230
+ fz_pixmap_samples,
231
+ fz_pixmap_stride,
232
+ fz_new_buffer,
233
+ fz_drop_buffer,
234
+ fz_buffer_data,
235
+ fz_new_buffer_from_pixmap_as_png,
236
+ fz_new_stext_page_from_page,
237
+ fz_drop_stext_page,
238
+ fz_new_buffer_from_stext_page,
239
+ fz_identity,
240
+ fz_scale,
241
+ fz_translate,
242
+ fz_rotate,
243
+ fz_device_rgb,
244
+ fz_device_gray,
245
+ fz_device_cmyk
246
+ } = lib.symbols;
247
+ var FZ_STORE_DEFAULT = 256 * 1024 * 1024;
248
+ function toCString(str) {
249
+ return Buffer.from(str + "\x00", "utf-8");
250
+ }
251
+ function fromCString(ptr2) {
252
+ if (!ptr2)
253
+ return "";
254
+ const cstr = new Uint8Array(ptr2);
255
+ let length = 0;
256
+ while (cstr[length] !== 0)
257
+ length++;
258
+ return Buffer.from(cstr.slice(0, length)).toString("utf-8");
259
+ }
260
+ function readBuffer(pointer, length) {
261
+ if (!pointer)
262
+ return new Uint8Array(0);
263
+ return new Uint8Array(ptr(pointer, length));
264
+ }
265
+ function readFloats(pointer, count) {
266
+ if (!pointer)
267
+ return new Float32Array(0);
268
+ return new Float32Array(ptr(pointer, count * 4));
269
+ }
270
+
271
+ // bun/context.ts
272
+ class Context {
273
+ handle;
274
+ dropped = false;
275
+ constructor(maxStore = FZ_STORE_DEFAULT) {
276
+ const handle = fz_new_context(null, null, BigInt(maxStore));
277
+ if (handle === 0n) {
278
+ throw new Error("Failed to create context");
279
+ }
280
+ this.handle = handle;
281
+ }
282
+ getHandle() {
283
+ if (this.dropped) {
284
+ throw new Error("Context has been dropped");
285
+ }
286
+ return this.handle;
287
+ }
288
+ clone() {
289
+ const newHandle = fz_clone_context(this.handle);
290
+ if (newHandle === 0n) {
291
+ throw new Error("Failed to clone context");
292
+ }
293
+ const ctx = Object.create(Context.prototype);
294
+ ctx.handle = newHandle;
295
+ ctx.dropped = false;
296
+ return ctx;
297
+ }
298
+ drop() {
299
+ if (!this.dropped) {
300
+ fz_drop_context(this.handle);
301
+ this.dropped = true;
302
+ }
303
+ }
304
+ [Symbol.dispose]() {
305
+ this.drop();
306
+ }
307
+ }
308
+ // bun/document.ts
309
+ import { ptr as ptr2 } from "bun:ffi";
310
+ class Page {
311
+ ctx;
312
+ handle;
313
+ dropped = false;
314
+ constructor(ctx, handle) {
315
+ this.ctx = ctx;
316
+ this.handle = handle;
317
+ }
318
+ getHandle() {
319
+ if (this.dropped) {
320
+ throw new Error("Page has been dropped");
321
+ }
322
+ return this.handle;
323
+ }
324
+ bounds() {
325
+ const rectPtr = fz_bound_page(this.ctx.getHandle(), this.handle);
326
+ const floats = readFloats(Number(rectPtr), 4);
327
+ return {
328
+ x0: floats[0],
329
+ y0: floats[1],
330
+ x1: floats[2],
331
+ y1: floats[3]
332
+ };
333
+ }
334
+ extractText() {
335
+ const ctxHandle = this.ctx.getHandle();
336
+ const stextHandle = fz_new_stext_page_from_page(ctxHandle, this.handle, null);
337
+ if (stextHandle === 0n) {
338
+ return "";
339
+ }
340
+ try {
341
+ const bufferHandle = fz_new_buffer_from_stext_page(ctxHandle, stextHandle);
342
+ if (bufferHandle === 0n) {
343
+ return "";
344
+ }
345
+ try {
346
+ const sizePtr = Buffer.alloc(8);
347
+ const dataPtr = fz_buffer_data(ctxHandle, bufferHandle, ptr2(sizePtr));
348
+ if (!dataPtr) {
349
+ return "";
350
+ }
351
+ const size = sizePtr.readBigUInt64LE(0);
352
+ if (size === 0n) {
353
+ return "";
354
+ }
355
+ const textData = readBuffer(Number(dataPtr), Number(size));
356
+ return Buffer.from(textData).toString("utf-8");
357
+ } finally {
358
+ fz_drop_buffer(ctxHandle, bufferHandle);
359
+ }
360
+ } finally {
361
+ fz_drop_stext_page(ctxHandle, stextHandle);
362
+ }
363
+ }
364
+ drop() {
365
+ if (!this.dropped) {
366
+ fz_drop_page(this.ctx.getHandle(), this.handle);
367
+ this.dropped = true;
368
+ }
369
+ }
370
+ [Symbol.dispose]() {
371
+ this.drop();
372
+ }
373
+ }
374
+
375
+ class Document {
376
+ ctx;
377
+ handle;
378
+ dropped = false;
379
+ constructor(ctx, handle) {
380
+ this.ctx = ctx;
381
+ this.handle = handle;
382
+ }
383
+ static open(ctx, path) {
384
+ const pathBytes = toCString(path);
385
+ const handle = fz_open_document(ctx.getHandle(), ptr2(pathBytes));
386
+ if (handle === 0n) {
387
+ throw new Error(`Failed to open document: ${path}`);
388
+ }
389
+ return new Document(ctx, handle);
390
+ }
391
+ static fromBytes(ctx, data, magic = ".pdf") {
392
+ const magicBytes = toCString(magic);
393
+ const handle = fz_open_document_with_buffer(ctx.getHandle(), ptr2(magicBytes), ptr2(data), BigInt(data.length));
394
+ if (handle === 0n) {
395
+ throw new Error("Failed to open document from bytes");
396
+ }
397
+ return new Document(ctx, handle);
398
+ }
399
+ getHandle() {
400
+ if (this.dropped) {
401
+ throw new Error("Document has been dropped");
402
+ }
403
+ return this.handle;
404
+ }
405
+ pageCount() {
406
+ return fz_count_pages(this.ctx.getHandle(), this.handle);
407
+ }
408
+ needsPassword() {
409
+ return fz_needs_password(this.ctx.getHandle(), this.handle) !== 0;
410
+ }
411
+ authenticate(password) {
412
+ const passwordBytes = toCString(password);
413
+ return fz_authenticate_password(this.ctx.getHandle(), this.handle, ptr2(passwordBytes)) !== 0;
414
+ }
415
+ getMetadata(key) {
416
+ const keyBytes = toCString(key);
417
+ const buffer = Buffer.alloc(1024);
418
+ const length = fz_lookup_metadata(this.ctx.getHandle(), this.handle, ptr2(keyBytes), ptr2(buffer), buffer.length);
419
+ if (length <= 0) {
420
+ return "";
421
+ }
422
+ return buffer.toString("utf-8", 0, length);
423
+ }
424
+ loadPage(pageNum) {
425
+ const pageCount = this.pageCount();
426
+ if (pageNum < 0 || pageNum >= pageCount) {
427
+ throw new Error(`Invalid page number: ${pageNum} (document has ${pageCount} pages)`);
428
+ }
429
+ const handle = fz_load_page(this.ctx.getHandle(), this.handle, pageNum);
430
+ if (handle === 0n) {
431
+ throw new Error(`Failed to load page ${pageNum}`);
432
+ }
433
+ return new Page(this.ctx, handle);
434
+ }
435
+ drop() {
436
+ if (!this.dropped) {
437
+ fz_drop_document(this.ctx.getHandle(), this.handle);
438
+ this.dropped = true;
439
+ }
440
+ }
441
+ [Symbol.dispose]() {
442
+ this.drop();
443
+ }
444
+ }
445
+ // bun/pixmap.ts
446
+ import { writeFile } from "fs/promises";
447
+ import { ptr as ptr3 } from "bun:ffi";
448
+ class Pixmap {
449
+ ctx;
450
+ handle;
451
+ dropped = false;
452
+ constructor(ctx, handle) {
453
+ this.ctx = ctx;
454
+ this.handle = handle;
455
+ }
456
+ static fromPage(ctx, page, matrix, alpha = false) {
457
+ const colorspace = fz_device_rgb(ctx.getHandle());
458
+ const matrixBuffer = new Float32Array([
459
+ matrix.a,
460
+ matrix.b,
461
+ matrix.c,
462
+ matrix.d,
463
+ matrix.e,
464
+ matrix.f
465
+ ]);
466
+ const handle = fz_new_pixmap_from_page(ctx.getHandle(), page.getHandle(), ptr3(matrixBuffer), colorspace, alpha ? 1 : 0);
467
+ if (handle === 0n) {
468
+ throw new Error("Failed to create pixmap from page");
469
+ }
470
+ return new Pixmap(ctx, handle);
471
+ }
472
+ getHandle() {
473
+ if (this.dropped) {
474
+ throw new Error("Pixmap has been dropped");
475
+ }
476
+ return this.handle;
477
+ }
478
+ width() {
479
+ return fz_pixmap_width(this.ctx.getHandle(), this.handle);
480
+ }
481
+ height() {
482
+ return fz_pixmap_height(this.ctx.getHandle(), this.handle);
483
+ }
484
+ stride() {
485
+ return fz_pixmap_stride(this.ctx.getHandle(), this.handle);
486
+ }
487
+ samples() {
488
+ const width = this.width();
489
+ const height = this.height();
490
+ const stride = this.stride();
491
+ const size = stride * height;
492
+ const samplesPtr = fz_pixmap_samples(this.ctx.getHandle(), this.handle);
493
+ if (!samplesPtr) {
494
+ return new Uint8Array(0);
495
+ }
496
+ return readBuffer(Number(samplesPtr), size);
497
+ }
498
+ toPng() {
499
+ const ctxHandle = this.ctx.getHandle();
500
+ const bufferHandle = fz_new_buffer_from_pixmap_as_png(ctxHandle, this.handle, 0);
501
+ if (bufferHandle === 0n) {
502
+ throw new Error("Failed to convert pixmap to PNG");
503
+ }
504
+ try {
505
+ const sizePtr = Buffer.alloc(8);
506
+ const dataPtr = fz_buffer_data(ctxHandle, bufferHandle, ptr3(sizePtr));
507
+ if (!dataPtr) {
508
+ return new Uint8Array(0);
509
+ }
510
+ const size = sizePtr.readBigUInt64LE(0);
511
+ if (size === 0n) {
512
+ return new Uint8Array(0);
513
+ }
514
+ return readBuffer(Number(dataPtr), Number(size));
515
+ } finally {
516
+ fz_drop_buffer(ctxHandle, bufferHandle);
517
+ }
518
+ }
519
+ async savePng(path) {
520
+ const pngData = this.toPng();
521
+ await writeFile(path, pngData);
522
+ }
523
+ drop() {
524
+ if (!this.dropped) {
525
+ fz_drop_pixmap(this.ctx.getHandle(), this.handle);
526
+ this.dropped = true;
527
+ }
528
+ }
529
+ [Symbol.dispose]() {
530
+ this.drop();
531
+ }
532
+ }
533
+
534
+ class MatrixHelper {
535
+ static identity() {
536
+ return {
537
+ a: 1,
538
+ b: 0,
539
+ c: 0,
540
+ d: 1,
541
+ e: 0,
542
+ f: 0
543
+ };
544
+ }
545
+ static scale(sx, sy) {
546
+ const resultPtr = fz_scale(sx, sy);
547
+ const floats = readFloats(Number(resultPtr), 6);
548
+ return {
549
+ a: floats[0],
550
+ b: floats[1],
551
+ c: floats[2],
552
+ d: floats[3],
553
+ e: floats[4],
554
+ f: floats[5]
555
+ };
556
+ }
557
+ static dpi(dpi) {
558
+ const scale = dpi / 72;
559
+ return MatrixHelper.scale(scale, scale);
560
+ }
561
+ }
562
+ export {
563
+ Pixmap,
564
+ Page,
565
+ MatrixHelper,
566
+ exports_ffi as FFI,
567
+ Document,
568
+ Context
569
+ };
@@ -491,6 +491,11 @@ export declare class Document {
491
491
  * Open a document from a Uint8Array
492
492
  */
493
493
  static fromUint8Array(data: Uint8Array, password?: string): Document;
494
+ /**
495
+ * Open a document from a buffer (alias for fromBuffer)
496
+ * @deprecated Use fromBuffer instead
497
+ */
498
+ static openFromBuffer(buffer: globalThis.Buffer, password?: string): Document;
494
499
  /**
495
500
  * Get the page count
496
501
  */
@@ -500,9 +505,12 @@ export declare class Document {
500
505
  */
501
506
  get format(): string;
502
507
  /**
503
- * Check if the document needs a password
508
+ * Check if the document needs a password.
509
+ * Can be called as either a method `doc.needsPassword()` or accessed as a property `doc.needsPassword`.
510
+ *
511
+ * @returns true if the document requires authentication
504
512
  */
505
- get needsPassword(): boolean;
513
+ needsPassword(): boolean;
506
514
  /**
507
515
  * Check if the document is authenticated
508
516
  */
@@ -523,10 +531,10 @@ export declare class Document {
523
531
  authenticate(password: string): boolean;
524
532
  /**
525
533
  * Check if the document has a specific permission using FFI
526
- * @param permission The permission to check (print, edit, copy, annotate)
534
+ * @param permission The permission to check - either a number (4=print, 8=edit, 16=copy, 32=annotate) or string ("print", "edit", "copy", "annotate")
527
535
  * @throws Error when native bindings are not available
528
536
  */
529
- hasPermission(permission: string): boolean;
537
+ hasPermission(permission: string | number): boolean;
530
538
  /**
531
539
  * Get page label for a given page number
532
540
  * @param pageNum Page number (0-based)
@@ -589,6 +597,21 @@ export declare class Document {
589
597
  * Check if the document needs a password (method form for API compatibility)
590
598
  */
591
599
  needsPasswordCheck(): boolean;
600
+ /**
601
+ * Save the document to a file.
602
+ *
603
+ * @param path - The file path to save to
604
+ * @param options - Optional save options (e.g., "incremental", "clean", "sanitize")
605
+ * @throws {MicroPDFError} If native context is not available or save fails
606
+ */
607
+ save(path: string, options?: string): void;
608
+ /**
609
+ * Write the document to a buffer.
610
+ *
611
+ * @returns Buffer containing the PDF data
612
+ * @throws {MicroPDFError} If native context is not available or write fails
613
+ */
614
+ write(): globalThis.Buffer;
592
615
  /**
593
616
  * Close the document and release resources
594
617
  */
@@ -604,7 +627,7 @@ export declare class Document {
604
627
  /**
605
628
  * Get metadata value
606
629
  */
607
- getMetadata(key: string): string | undefined;
630
+ getMetadata(key: string): string;
608
631
  /**
609
632
  * Set metadata value
610
633
  */
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"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"}
package/dist/document.js CHANGED
@@ -639,6 +639,13 @@ export class Document {
639
639
  static fromUint8Array(data, password) {
640
640
  return Document.fromBuffer(Buffer.fromUint8Array(data), password);
641
641
  }
642
+ /**
643
+ * Open a document from a buffer (alias for fromBuffer)
644
+ * @deprecated Use fromBuffer instead
645
+ */
646
+ static openFromBuffer(buffer, password) {
647
+ return Document.fromBuffer(Buffer.fromBuffer(buffer), password);
648
+ }
642
649
  /**
643
650
  * Get the page count
644
651
  */
@@ -652,9 +659,12 @@ export class Document {
652
659
  return this._format;
653
660
  }
654
661
  /**
655
- * Check if the document needs a password
662
+ * Check if the document needs a password.
663
+ * Can be called as either a method `doc.needsPassword()` or accessed as a property `doc.needsPassword`.
664
+ *
665
+ * @returns true if the document requires authentication
656
666
  */
657
- get needsPassword() {
667
+ needsPassword() {
658
668
  return this._needsPassword;
659
669
  }
660
670
  /**
@@ -692,21 +702,28 @@ export class Document {
692
702
  }
693
703
  /**
694
704
  * Check if the document has a specific permission using FFI
695
- * @param permission The permission to check (print, edit, copy, annotate)
705
+ * @param permission The permission to check - either a number (4=print, 8=edit, 16=copy, 32=annotate) or string ("print", "edit", "copy", "annotate")
696
706
  * @throws Error when native bindings are not available
697
707
  */
698
708
  hasPermission(permission) {
699
709
  if (!this._ctx || !this._doc) {
700
710
  throw new Error('Permission check requires native FFI bindings (pdf_has_permission)');
701
711
  }
702
- // Map permission string to permission bits
703
- const permissionMap = {
704
- print: 4,
705
- edit: 8,
706
- copy: 16,
707
- annotate: 32
708
- };
709
- const permissionBit = permissionMap[permission] ?? 0;
712
+ // Handle both string and number permissions
713
+ let permissionBit;
714
+ if (typeof permission === 'number') {
715
+ permissionBit = permission;
716
+ }
717
+ else {
718
+ // Map permission string to permission bits
719
+ const permissionMap = {
720
+ print: 4,
721
+ edit: 8,
722
+ copy: 16,
723
+ annotate: 32
724
+ };
725
+ permissionBit = permissionMap[permission] ?? 0;
726
+ }
710
727
  return native.hasPermission(this._ctx, this._doc, permissionBit);
711
728
  }
712
729
  /**
@@ -824,6 +841,35 @@ export class Document {
824
841
  needsPasswordCheck() {
825
842
  return this._needsPassword;
826
843
  }
844
+ /**
845
+ * Save the document to a file.
846
+ *
847
+ * @param path - The file path to save to
848
+ * @param options - Optional save options (e.g., "incremental", "clean", "sanitize")
849
+ * @throws {MicroPDFError} If native context is not available or save fails
850
+ */
851
+ save(path, options) {
852
+ if (!this._ctx || !this._doc) {
853
+ throw MicroPDFError.generic('Cannot save document: native context not available');
854
+ }
855
+ native.saveDocument(this._ctx, this._doc, path, options);
856
+ }
857
+ /**
858
+ * Write the document to a buffer.
859
+ *
860
+ * @returns Buffer containing the PDF data
861
+ * @throws {MicroPDFError} If native context is not available or write fails
862
+ */
863
+ write() {
864
+ if (!this._ctx || !this._doc) {
865
+ throw MicroPDFError.generic('Cannot write document: native context not available');
866
+ }
867
+ // Check if writeDocument is available in native module
868
+ if (typeof native.writeDocument !== 'function') {
869
+ throw MicroPDFError.generic('writeDocument is not implemented in the native module. Use save() to write to a file instead.');
870
+ }
871
+ return native.writeDocument(this._ctx, this._doc);
872
+ }
827
873
  /**
828
874
  * Close the document and release resources
829
875
  */
@@ -854,7 +900,7 @@ export class Document {
854
900
  * Get metadata value
855
901
  */
856
902
  getMetadata(key) {
857
- return this._metadata.get(key);
903
+ return this._metadata.get(key) ?? '';
858
904
  }
859
905
  /**
860
906
  * Set metadata value
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"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"}
package/native/context.cc CHANGED
@@ -44,7 +44,7 @@ Napi::Value DropContext(const Napi::CallbackInfo& info) {
44
44
  return env.Undefined();
45
45
  }
46
46
 
47
- fz_context ctx = ctxObj.Get("_handle").As<Napi::Number>().Int32Value();
47
+ fz_context ctx = static_cast<fz_context>(ctxObj.Get("_handle").As<Napi::Number>().Int64Value());
48
48
  fz_drop_context(ctx);
49
49
 
50
50
  return env.Undefined();
@@ -63,7 +63,7 @@ Napi::Value CloneContext(const Napi::CallbackInfo& info) {
63
63
  }
64
64
 
65
65
  Napi::Object ctxObj = info[0].As<Napi::Object>();
66
- fz_context ctx = ctxObj.Get("_handle").As<Napi::Number>().Int32Value();
66
+ fz_context ctx = static_cast<fz_context>(ctxObj.Get("_handle").As<Napi::Number>().Int64Value());
67
67
 
68
68
  fz_context newCtx = fz_clone_context(ctx);
69
69
 
@@ -10,16 +10,18 @@
10
10
 
11
11
  /**
12
12
  * Helper: Extract context from object
13
+ * Note: Handles are 64-bit in the Rust FFI
13
14
  */
14
15
  static fz_context GetContext(const Napi::Object& obj) {
15
- return obj.Get("_handle").As<Napi::Number>().Int32Value();
16
+ return static_cast<fz_context>(obj.Get("_handle").As<Napi::Number>().Int64Value());
16
17
  }
17
18
 
18
19
  /**
19
20
  * Helper: Extract document handle from object
21
+ * Note: Handles are 64-bit in the Rust FFI
20
22
  */
21
23
  static fz_document GetDocument(const Napi::Object& obj) {
22
- return obj.Get("_handle").As<Napi::Number>().Int32Value();
24
+ return static_cast<fz_document>(obj.Get("_handle").As<Napi::Number>().Int64Value());
23
25
  }
24
26
 
25
27
  /**
@@ -11,9 +11,10 @@
11
11
 
12
12
  /**
13
13
  * Helper: Extract context handle from object
14
+ * Note: Handles are 64-bit in the Rust FFI
14
15
  */
15
- static int32_t GetContext(const Napi::Object& obj) {
16
- return obj.Get("_handle").As<Napi::Number>().Int32Value();
16
+ static int64_t GetContext(const Napi::Object& obj) {
17
+ return obj.Get("_handle").As<Napi::Number>().Int64Value();
17
18
  }
18
19
 
19
20
  /**
@@ -18,18 +18,19 @@ extern "C" {
18
18
 
19
19
  // ============================================================================
20
20
  // Enhanced Functions (10 total)
21
+ // Note: All handle types (ctx, doc, page) use int64_t to match Rust FFI u64 Handle type
21
22
  // ============================================================================
22
23
 
23
- int32_t mp_add_blank_page(int32_t _ctx, int32_t _doc, float width, float height);
24
- int32_t mp_add_watermark(int32_t _ctx, const char * input_path, const char * output_path, const char * text, float _x, float _y, float font_size, float opacity);
25
- int32_t mp_draw_circle(int32_t _ctx, int32_t _page, float _x, float _y, float radius, float r, float g, float b, float alpha, int32_t _fill);
26
- int32_t mp_draw_line(int32_t _ctx, int32_t _page, float _x0, float _y0, float _x1, float _y1, float r, float g, float b, float alpha, float line_width);
27
- int32_t mp_draw_rectangle(int32_t _ctx, int32_t _page, float _x, float _y, float width, float height, float r, float g, float b, float alpha, int32_t _fill);
28
- int32_t mp_linearize_pdf(int32_t _ctx, const char * input_path, const char * output_path);
29
- int32_t mp_merge_pdfs(int32_t _ctx, const char * const * paths, int32_t count, const char * output_path);
30
- int32_t mp_optimize_pdf(int32_t _ctx, const char * path);
31
- int32_t mp_split_pdf(int32_t _ctx, const char * input_path, const char * output_dir);
32
- int32_t mp_write_pdf(int32_t _ctx, int32_t _doc, const char * _path);
24
+ int32_t mp_add_blank_page(int64_t _ctx, int64_t _doc, float width, float height);
25
+ int32_t mp_add_watermark(int64_t _ctx, const char * input_path, const char * output_path, const char * text, float _x, float _y, float font_size, float opacity);
26
+ int32_t mp_draw_circle(int64_t _ctx, int64_t _page, float _x, float _y, float radius, float r, float g, float b, float alpha, int32_t _fill);
27
+ int32_t mp_draw_line(int64_t _ctx, int64_t _page, float _x0, float _y0, float _x1, float _y1, float r, float g, float b, float alpha, float line_width);
28
+ int32_t mp_draw_rectangle(int64_t _ctx, int64_t _page, float _x, float _y, float width, float height, float r, float g, float b, float alpha, int32_t _fill);
29
+ int32_t mp_linearize_pdf(int64_t _ctx, const char * input_path, const char * output_path);
30
+ int32_t mp_merge_pdfs(int64_t _ctx, const char * const * paths, int32_t count, const char * output_path);
31
+ int32_t mp_optimize_pdf(int64_t _ctx, const char * path);
32
+ int32_t mp_split_pdf(int64_t _ctx, const char * input_path, const char * output_dir);
33
+ int32_t mp_write_pdf(int64_t _ctx, int64_t _doc, const char * _path);
33
34
 
34
35
  #ifdef __cplusplus
35
36
  }
@@ -39,17 +39,17 @@ typedef struct {
39
39
  } fz_quad;
40
40
 
41
41
  // ============================================================================
42
- // Opaque Handle Types (all represented as int32_t in FFI)
42
+ // Opaque Handle Types (all represented as uint64_t in FFI to match Rust Handle type)
43
43
  // ============================================================================
44
44
 
45
- typedef int32_t fz_context;
46
- typedef int32_t fz_document;
47
- typedef int32_t fz_page;
45
+ typedef uint64_t fz_context;
46
+ typedef uint64_t fz_document;
47
+ typedef uint64_t fz_page;
48
48
  // fz_pixmap is defined later with specific functions
49
- typedef int32_t fz_buffer;
50
- typedef int32_t fz_stext_page;
51
- typedef int32_t fz_link;
52
- typedef int32_t fz_archive;
49
+ typedef uint64_t fz_buffer;
50
+ typedef uint64_t fz_stext_page;
51
+ typedef uint64_t fz_link;
52
+ typedef uint64_t fz_archive;
53
53
 
54
54
  // Forward declarations for types defined later with specific functions
55
55
  typedef uint64_t fz_colorspace;
Binary file
package/native/page.cc CHANGED
@@ -10,23 +10,26 @@
10
10
 
11
11
  /**
12
12
  * Helper: Extract context from object
13
+ * Note: Handles are 64-bit in the Rust FFI
13
14
  */
14
15
  static fz_context GetContext(const Napi::Object& obj) {
15
- return obj.Get("_handle").As<Napi::Number>().Int32Value();
16
+ return static_cast<fz_context>(obj.Get("_handle").As<Napi::Number>().Int64Value());
16
17
  }
17
18
 
18
19
  /**
19
20
  * Helper: Extract document handle from object
21
+ * Note: Handles are 64-bit in the Rust FFI
20
22
  */
21
23
  static fz_document GetDocument(const Napi::Object& obj) {
22
- return obj.Get("_handle").As<Napi::Number>().Int32Value();
24
+ return static_cast<fz_document>(obj.Get("_handle").As<Napi::Number>().Int64Value());
23
25
  }
24
26
 
25
27
  /**
26
28
  * Helper: Extract page handle from object
29
+ * Note: Handles are 64-bit in the Rust FFI
27
30
  */
28
31
  static fz_page GetPage(const Napi::Object& obj) {
29
- return obj.Get("_handle").As<Napi::Number>().Int32Value();
32
+ return static_cast<fz_page>(obj.Get("_handle").As<Napi::Number>().Int64Value());
30
33
  }
31
34
 
32
35
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lexmata/micropdf",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Node.js bindings for the MicroPDF library",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",