@lexmata/micropdf 0.7.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 +569 -0
- package/dist/document.d.ts +28 -5
- package/dist/document.d.ts.map +1 -1
- package/dist/document.js +58 -12
- package/dist/document.js.map +1 -1
- package/native/context.cc +2 -2
- package/native/document.cc +4 -2
- package/native/enhanced.cc +3 -2
- package/native/include/micropdf/enhanced.h +11 -10
- package/native/include/mupdf_minimal.h +8 -8
- package/native/lib/linux-x64/libmicropdf.a +0 -0
- package/native/page.cc +6 -3
- package/package.json +1 -1
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
|
+
};
|
package/dist/document.d.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
|
630
|
+
getMetadata(key: string): string;
|
|
608
631
|
/**
|
|
609
632
|
* Set metadata value
|
|
610
633
|
*/
|
package/dist/document.d.ts.map
CHANGED
|
@@ -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
|
-
|
|
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
|
-
//
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
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
|
package/dist/document.js.map
CHANGED
|
@@ -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>().
|
|
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>().
|
|
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
|
|
package/native/document.cc
CHANGED
|
@@ -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>().
|
|
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>().
|
|
24
|
+
return static_cast<fz_document>(obj.Get("_handle").As<Napi::Number>().Int64Value());
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
/**
|
package/native/enhanced.cc
CHANGED
|
@@ -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
|
|
16
|
-
return obj.Get("_handle").As<Napi::Number>().
|
|
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(
|
|
24
|
-
int32_t mp_add_watermark(
|
|
25
|
-
int32_t mp_draw_circle(
|
|
26
|
-
int32_t mp_draw_line(
|
|
27
|
-
int32_t mp_draw_rectangle(
|
|
28
|
-
int32_t mp_linearize_pdf(
|
|
29
|
-
int32_t mp_merge_pdfs(
|
|
30
|
-
int32_t mp_optimize_pdf(
|
|
31
|
-
int32_t mp_split_pdf(
|
|
32
|
-
int32_t mp_write_pdf(
|
|
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
|
|
42
|
+
// Opaque Handle Types (all represented as uint64_t in FFI to match Rust Handle type)
|
|
43
43
|
// ============================================================================
|
|
44
44
|
|
|
45
|
-
typedef
|
|
46
|
-
typedef
|
|
47
|
-
typedef
|
|
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
|
|
50
|
-
typedef
|
|
51
|
-
typedef
|
|
52
|
-
typedef
|
|
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>().
|
|
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>().
|
|
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>().
|
|
32
|
+
return static_cast<fz_page>(obj.Get("_handle").As<Napi::Number>().Int64Value());
|
|
30
33
|
}
|
|
31
34
|
|
|
32
35
|
/**
|