@embedpdf/engine-runtime 3.0.0-next.12 → 3.0.0-next.14

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/index.d.cts CHANGED
@@ -21,8 +21,11 @@ interface PdfFunctions {
21
21
  EPDF_RemoveEncryption: (arg0: Ptr) => boolean;
22
22
  EPDF_RenderAnnotBitmap: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: number, arg4: Ptr, arg5: number) => boolean;
23
23
  EPDF_RenderAnnotBitmapUnrotated: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: number, arg4: Ptr, arg5: number) => boolean;
24
+ EPDF_SaveAsCopyEx: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: Ptr) => boolean;
24
25
  EPDF_SaveDocumentToOwnedBuffer: (arg0: Ptr, arg1: number, arg2: Ptr) => Ptr;
26
+ EPDF_SaveDocumentToOwnedBufferEx: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: Ptr) => Ptr;
25
27
  EPDF_SaveDocumentToOwnedBufferWithVersion: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => Ptr;
28
+ EPDF_SetBaseDocumentSha256: (arg0: Ptr, arg1: Ptr) => void;
26
29
  EPDF_SetEncryption: (arg0: Ptr, arg1: string, arg2: string, arg3: number) => boolean;
27
30
  EPDF_SetMetaText: (arg0: Ptr, arg1: string, arg2: Ptr) => boolean;
28
31
  EPDF_SetMetaTrapped: (arg0: Ptr, arg1: number) => boolean;
@@ -60,6 +63,7 @@ interface PdfFunctions {
60
63
  EPDFAction_IsComplete: (arg0: Ptr) => boolean;
61
64
  EPDFAction_LoadModel: (arg0: Ptr) => Ptr;
62
65
  EPDFAction_NodeHasJavaScript: (arg0: Ptr, arg1: number) => boolean;
66
+ EPDFAnnot_AddMeasure: (arg0: Ptr) => Ptr;
63
67
  EPDFAnnot_ApplyRedaction: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
64
68
  EPDFAnnot_ClearBorderEffect: (arg0: Ptr) => boolean;
65
69
  EPDFAnnot_ClearColor: (arg0: Ptr, arg1: number) => boolean;
@@ -88,7 +92,10 @@ interface PdfFunctions {
88
92
  EPDFAnnot_GetEmbedMetadataRect: (arg0: Ptr, arg1: string, arg2: Ptr) => boolean;
89
93
  EPDFAnnot_GetEmbedMetadataString: (arg0: Ptr, arg1: string, arg2: Ptr, arg3: number) => number;
90
94
  EPDFAnnot_GetIntent: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
95
+ EPDFAnnot_GetLineCaption: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
91
96
  EPDFAnnot_GetLineEndings: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
97
+ EPDFAnnot_GetLineLeader: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
98
+ EPDFAnnot_GetMeasure: (arg0: Ptr) => Ptr;
92
99
  EPDFAnnot_GetMKColor: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr) => boolean;
93
100
  EPDFAnnot_GetName: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
94
101
  EPDFAnnot_GetObjectNumber: (arg0: Ptr) => number;
@@ -99,13 +106,16 @@ interface PdfFunctions {
99
106
  EPDFAnnot_GetRectangleDifferences: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr, arg4: Ptr) => boolean;
100
107
  EPDFAnnot_GetReplyType: (arg0: Ptr) => number;
101
108
  EPDFAnnot_GetRichContent: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
109
+ EPDFAnnot_GetRichTextJSON: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
102
110
  EPDFAnnot_GetRotate: (arg0: Ptr, arg1: Ptr) => boolean;
111
+ EPDFAnnot_GetShapeCaption: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
103
112
  EPDFAnnot_GetTextAlignment: (arg0: Ptr) => number;
104
113
  EPDFAnnot_HasAppearanceStream: (arg0: Ptr, arg1: number) => boolean;
105
114
  EPDFAnnot_HasEmbedMetadata: (arg0: Ptr) => boolean;
106
115
  EPDFAnnot_RemoveAction: (arg0: Ptr) => boolean;
107
116
  EPDFAnnot_RemoveDest: (arg0: Ptr) => boolean;
108
117
  EPDFAnnot_RemoveKey: (arg0: Ptr, arg1: string) => boolean;
118
+ EPDFAnnot_RemoveMeasure: (arg0: Ptr) => boolean;
109
119
  EPDFAnnot_SetAction: (arg0: Ptr, arg1: Ptr) => boolean;
110
120
  EPDFAnnot_SetAPMatrix: (arg0: Ptr, arg1: number, arg2: Ptr) => boolean;
111
121
  EPDFAnnot_SetAppearanceFromPage: (arg0: Ptr, arg1: Ptr, arg2: number) => boolean;
@@ -123,7 +133,9 @@ interface PdfFunctions {
123
133
  EPDFAnnot_SetEmbedMetadataString: (arg0: Ptr, arg1: string, arg2: Ptr) => boolean;
124
134
  EPDFAnnot_SetIntent: (arg0: Ptr, arg1: string) => boolean;
125
135
  EPDFAnnot_SetLine: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
136
+ EPDFAnnot_SetLineCaption: (arg0: Ptr, arg1: boolean, arg2: number, arg3: Ptr) => boolean;
126
137
  EPDFAnnot_SetLineEndings: (arg0: Ptr, arg1: number, arg2: number) => boolean;
138
+ EPDFAnnot_SetLineLeader: (arg0: Ptr, arg1: number, arg2: number, arg3: number) => boolean;
127
139
  EPDFAnnot_SetLinkedAnnot: (arg0: Ptr, arg1: string, arg2: Ptr) => boolean;
128
140
  EPDFAnnot_SetMKColor: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: number) => boolean;
129
141
  EPDFAnnot_SetName: (arg0: Ptr, arg1: string) => boolean;
@@ -134,7 +146,10 @@ interface PdfFunctions {
134
146
  EPDFAnnot_SetRect: (arg0: Ptr, arg1: Ptr) => boolean;
135
147
  EPDFAnnot_SetRectangleDifferences: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: number) => boolean;
136
148
  EPDFAnnot_SetReplyType: (arg0: Ptr, arg1: number) => boolean;
149
+ EPDFAnnot_SetRichTextJSON: (arg0: Ptr, arg1: string) => boolean;
150
+ EPDFAnnot_SetRichTextXHTML: (arg0: Ptr, arg1: Ptr) => boolean;
137
151
  EPDFAnnot_SetRotate: (arg0: Ptr, arg1: number) => boolean;
152
+ EPDFAnnot_SetShapeCaption: (arg0: Ptr, arg1: boolean, arg2: Ptr) => boolean;
138
153
  EPDFAnnot_SetTextAlignment: (arg0: Ptr, arg1: number) => boolean;
139
154
  EPDFAnnot_SetVertices: (arg0: Ptr, arg1: Ptr, arg2: number) => boolean;
140
155
  EPDFAnnot_UpdateAppearanceToRect: (arg0: Ptr, arg1: number) => boolean;
@@ -163,11 +178,15 @@ interface PdfFunctions {
163
178
  EPDFDoc_ClearPagePieceInfoKey: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: Ptr) => boolean;
164
179
  EPDFDoc_ClearPieceInfoEntry: (arg0: Ptr, arg1: string) => boolean;
165
180
  EPDFDoc_ClearPieceInfoKey: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr) => boolean;
181
+ EPDFDoc_CompareRevisions: (arg0: Ptr, arg1: Ptr) => Ptr;
166
182
  EPDFDoc_DeletePageByObjectNumber: (arg0: Ptr, arg1: number) => boolean;
167
183
  EPDFDoc_GetAdditionalActionModel: (arg0: Ptr, arg1: number) => Ptr;
168
184
  EPDFDoc_GetAttachmentIndexByKey: (arg0: Ptr, arg1: Ptr) => number;
169
185
  EPDFDoc_GetAttachmentKey: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
186
+ EPDFDoc_GetBaseBytesSize: (arg0: Ptr) => bigint;
187
+ EPDFDoc_GetFontEmbeddingPolicy: (arg0: Ptr) => number;
170
188
  EPDFDoc_GetLastModified: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
189
+ EPDFDoc_GetLoadedBytesSize: (arg0: Ptr) => bigint;
171
190
  EPDFDoc_GetNamedJavaScriptActionModel: (arg0: Ptr, arg1: number) => Ptr;
172
191
  EPDFDoc_GetNamedPageAt: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number, arg5: Ptr, arg6: Ptr) => number;
173
192
  EPDFDoc_GetNamedPageCount: (arg0: Ptr, arg1: number) => number;
@@ -200,12 +219,21 @@ interface PdfFunctions {
200
219
  EPDFDoc_GetPieceInfoStringArrayAt: (arg0: Ptr, arg1: string, arg2: string, arg3: number, arg4: Ptr, arg5: number) => number;
201
220
  EPDFDoc_GetPieceInfoStringArrayCount: (arg0: Ptr, arg1: string, arg2: string) => number;
202
221
  EPDFDoc_GetPieceInfoValueType: (arg0: Ptr, arg1: string, arg2: string) => number;
222
+ EPDFDoc_GetRevision: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr) => boolean;
223
+ EPDFDoc_GetRevisionCount: (arg0: Ptr) => number;
224
+ EPDFDoc_GetStructureObjectNumbers: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
225
+ EPDFDoc_GetTypographicFeatures: (arg0: Ptr) => boolean;
203
226
  EPDFDoc_HasPagePieceInfoEntry: (arg0: Ptr, arg1: number, arg2: string) => boolean;
204
227
  EPDFDoc_HasPieceInfoEntry: (arg0: Ptr, arg1: string) => boolean;
205
228
  EPDFDoc_LoadPageByObjectNumber: (arg0: Ptr, arg1: number) => Ptr;
206
229
  EPDFDoc_LoadPageByObjectNumberNormalized: (arg0: Ptr, arg1: number) => Ptr;
230
+ EPDFDoc_OpenBaseOverlay: (arg0: Ptr, arg1: Ptr, arg2: number) => Ptr;
231
+ EPDFDoc_OpenBaseOverlayFromPath: (arg0: Ptr, arg1: Ptr) => Ptr;
232
+ EPDFDoc_OpenRevision: (arg0: Ptr, arg1: bigint) => Ptr;
233
+ EPDFDoc_ReadLoadedBytes: (arg0: Ptr, arg1: bigint, arg2: Ptr, arg3: number) => number;
207
234
  EPDFDoc_RemoveNamedPage: (arg0: Ptr, arg1: Ptr) => boolean;
208
235
  EPDFDoc_RemoveNamedPagesForPage: (arg0: Ptr, arg1: number) => number;
236
+ EPDFDoc_SetFontEmbeddingPolicy: (arg0: Ptr, arg1: number) => boolean;
209
237
  EPDFDoc_SetNamedPage: (arg0: Ptr, arg1: Ptr, arg2: number) => boolean;
210
238
  EPDFDoc_SetPagePieceInfoBoolean: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: boolean, arg5: Ptr) => boolean;
211
239
  EPDFDoc_SetPagePieceInfoName: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: string, arg5: Ptr) => boolean;
@@ -218,10 +246,18 @@ interface PdfFunctions {
218
246
  EPDFDoc_SetPieceInfoNumber: (arg0: Ptr, arg1: string, arg2: string, arg3: number, arg4: Ptr) => boolean;
219
247
  EPDFDoc_SetPieceInfoString: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr, arg4: Ptr) => boolean;
220
248
  EPDFDoc_SetPieceInfoStringArray: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr, arg4: number, arg5: Ptr) => boolean;
249
+ EPDFDoc_SetTypographicFeatures: (arg0: Ptr, arg1: boolean) => boolean;
221
250
  EPDFDocument_ClearEmbedMetadata: (arg0: Ptr) => boolean;
222
251
  EPDFFont_AddFallbackFont: (arg0: number) => boolean;
252
+ EPDFFont_AuthorizeEditing: (arg0: number) => boolean;
223
253
  EPDFFont_ClearFallbackFonts: () => void;
224
254
  EPDFFont_ClearRegisteredFonts: () => void;
255
+ EPDFFont_GetEmbeddingPermission: (arg0: number) => number;
256
+ EPDFFont_GetFamilyName: (arg0: number, arg1: Ptr, arg2: number) => number;
257
+ EPDFFont_GetWeight: (arg0: number) => number;
258
+ EPDFFont_IsEditingAuthorized: (arg0: number) => boolean;
259
+ EPDFFont_IsInstanced: (arg0: number) => boolean;
260
+ EPDFFont_IsItalic: (arg0: number) => boolean;
225
261
  EPDFFont_RegisterFont: (arg0: string, arg1: number, arg2: number, arg3: Ptr) => number;
226
262
  EPDFFont_RegisterMemFont: (arg0: string, arg1: number, arg2: number, arg3: Ptr, arg4: number) => number;
227
263
  EPDFFont_RegisterMemFont64: (arg0: string, arg1: number, arg2: number, arg3: Ptr, arg4: number) => number;
@@ -286,19 +322,61 @@ interface PdfFunctions {
286
322
  EPDFImageObj_SetJpeg: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: number) => boolean;
287
323
  EPDFImageObj_SetPng: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: number) => boolean;
288
324
  EPDFLayer_GetBaseDocument: (arg0: Ptr) => Ptr;
325
+ EPDFLayer_GetBaseSha256: (arg0: Ptr, arg1: Ptr) => boolean;
289
326
  EPDFLayer_GetPromotedObjectCount: (arg0: Ptr) => number;
290
327
  EPDFLayer_IsObjectPromoted: (arg0: Ptr, arg1: number) => boolean;
291
328
  EPDFLayer_OpenLayer: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
292
329
  EPDFLayer_OpenLayerArtifact: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
330
+ EPDFLayer_OpenLayerArtifactFromPath: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
293
331
  EPDFLayer_SaveDelta: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
332
+ EPDFLayer_SaveDeltaEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
294
333
  EPDFLayer_SaveDeltaToOwnedBuffer: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => Ptr;
334
+ EPDFLayer_SaveDeltaToOwnedBufferEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => Ptr;
295
335
  EPDFLayer_SaveLayerArtifact: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
336
+ EPDFLayer_SaveLayerArtifactEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
296
337
  EPDFLayer_SaveLayerArtifactToOwnedBuffer: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => Ptr;
338
+ EPDFLayer_SaveLayerArtifactToOwnedBufferEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => Ptr;
339
+ EPDFMeasure_AddFormat: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => Ptr;
340
+ EPDFMeasure_CountFormats: (arg0: Ptr, arg1: number) => number;
341
+ EPDFMeasure_GetCYX: (arg0: Ptr, arg1: Ptr) => boolean;
342
+ EPDFMeasure_GetFormat: (arg0: Ptr, arg1: number, arg2: number) => Ptr;
343
+ EPDFMeasure_GetOrigin: (arg0: Ptr, arg1: Ptr) => boolean;
344
+ EPDFMeasure_GetRatio: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
345
+ EPDFMeasure_GetSubtype: (arg0: Ptr) => number;
346
+ EPDFMeasure_RemoveFormats: (arg0: Ptr, arg1: number) => boolean;
347
+ EPDFMeasure_SetCYX: (arg0: Ptr, arg1: Ptr) => boolean;
348
+ EPDFMeasure_SetOrigin: (arg0: Ptr, arg1: Ptr) => boolean;
349
+ EPDFMeasure_SetRatio: (arg0: Ptr, arg1: Ptr) => boolean;
297
350
  EPDFNamedDest_Remove: (arg0: Ptr, arg1: string) => boolean;
298
351
  EPDFNamedDest_SetDest: (arg0: Ptr, arg1: string, arg2: Ptr) => boolean;
352
+ EPDFNumberFormat_GetConversion: (arg0: Ptr, arg1: Ptr) => boolean;
353
+ EPDFNumberFormat_GetFixedDenominator: (arg0: Ptr, arg1: Ptr) => boolean;
354
+ EPDFNumberFormat_GetFraction: (arg0: Ptr, arg1: Ptr) => boolean;
355
+ EPDFNumberFormat_GetLabelPosition: (arg0: Ptr, arg1: Ptr) => boolean;
356
+ EPDFNumberFormat_GetPrecision: (arg0: Ptr, arg1: Ptr) => boolean;
357
+ EPDFNumberFormat_GetText: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
358
+ EPDFNumberFormat_GetUnit: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
359
+ EPDFNumberFormat_SetConversion: (arg0: Ptr, arg1: number) => boolean;
360
+ EPDFNumberFormat_SetFixedDenominator: (arg0: Ptr, arg1: boolean) => boolean;
361
+ EPDFNumberFormat_SetFraction: (arg0: Ptr, arg1: number) => boolean;
362
+ EPDFNumberFormat_SetLabelPosition: (arg0: Ptr, arg1: number) => boolean;
363
+ EPDFNumberFormat_SetPrecision: (arg0: Ptr, arg1: number) => boolean;
364
+ EPDFNumberFormat_SetText: (arg0: Ptr, arg1: number, arg2: Ptr) => boolean;
365
+ EPDFNumberFormat_SetUnit: (arg0: Ptr, arg1: Ptr) => boolean;
366
+ EPDFObjectDiff_Close: (arg0: Ptr) => void;
367
+ EPDFObjectDiff_GetCount: (arg0: Ptr) => number;
368
+ EPDFObjectDiff_GetEntry: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr, arg5: Ptr, arg6: Ptr, arg7: Ptr) => boolean;
369
+ EPDFObjectDiff_GetReadStatus: (arg0: Ptr, arg1: number, arg2: number) => number;
370
+ EPDFObjectDiff_GetReferrer: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: Ptr, arg5: Ptr, arg6: number) => number;
371
+ EPDFObjectDiff_GetReferrerCount: (arg0: Ptr, arg1: number, arg2: number) => number;
372
+ EPDFObjectDiff_GetRevisionHealth: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr) => boolean;
373
+ EPDFObjectDiff_GetValue: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number, arg5: Ptr) => number;
374
+ EPDFPage_AddViewport: (arg0: Ptr, arg1: Ptr) => Ptr;
299
375
  EPDFPage_ApplyRedactions: (arg0: Ptr, arg1: Ptr) => boolean;
376
+ EPDFPage_CountViewports: (arg0: Ptr) => number;
300
377
  EPDFPage_CreateAnnot: (arg0: Ptr, arg1: number) => Ptr;
301
378
  EPDFPage_ExportAnnotationsAsDocument: (arg0: Ptr, arg1: Ptr, arg2: number) => Ptr;
379
+ EPDFPage_FindViewport: (arg0: Ptr, arg1: Ptr) => number;
302
380
  EPDFPage_Flatten: (arg0: Ptr, arg1: number) => number;
303
381
  EPDFPage_FlattenAnnotations: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: number, arg4: Ptr) => number;
304
382
  EPDFPage_GetAnnotByName: (arg0: Ptr, arg1: Ptr) => Ptr;
@@ -306,16 +384,66 @@ interface PdfFunctions {
306
384
  EPDFPage_GetAnnotCountRaw: (arg0: Ptr, arg1: number) => number;
307
385
  EPDFPage_GetAnnotRaw: (arg0: Ptr, arg1: number, arg2: number) => Ptr;
308
386
  EPDFPage_GetObjectNumber: (arg0: Ptr) => number;
387
+ EPDFPage_GetViewport: (arg0: Ptr, arg1: number) => Ptr;
309
388
  EPDFPage_MoveAnnots: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: number) => boolean;
310
389
  EPDFPage_RemoveAnnot: (arg0: Ptr, arg1: number) => boolean;
311
390
  EPDFPage_RemoveAnnotByName: (arg0: Ptr, arg1: Ptr) => boolean;
312
391
  EPDFPage_RemoveAnnotByObjectNumber: (arg0: Ptr, arg1: number) => boolean;
313
392
  EPDFPage_RemoveAnnotRaw: (arg0: Ptr, arg1: number, arg2: number) => boolean;
393
+ EPDFPage_RemoveViewport: (arg0: Ptr, arg1: number) => boolean;
394
+ EPDFSig_CloseModel: (arg0: Ptr) => void;
395
+ EPDFSig_Count: (arg0: Ptr) => number;
396
+ EPDFSig_DigestByteRange: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: Ptr, arg4: Ptr) => boolean;
397
+ EPDFSig_DigestFileRange: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: Ptr, arg4: Ptr) => boolean;
398
+ EPDFSig_GetByteRange: (arg0: Ptr, arg1: number, arg2: Ptr) => boolean;
399
+ EPDFSig_GetContents: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
400
+ EPDFSig_GetCoverage: (arg0: Ptr, arg1: number) => number;
401
+ EPDFSig_GetDocMDPPermission: (arg0: Ptr, arg1: number) => number;
402
+ EPDFSig_GetFieldMDPAction: (arg0: Ptr, arg1: number) => number;
403
+ EPDFSig_GetFieldName: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
404
+ EPDFSig_GetFieldNameAt: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: Ptr, arg5: number) => number;
405
+ EPDFSig_GetFieldNameCount: (arg0: Ptr, arg1: number, arg2: number) => number;
406
+ EPDFSig_GetFieldObjNum: (arg0: Ptr, arg1: number) => number;
407
+ EPDFSig_GetIndexByFieldObjNum: (arg0: Ptr, arg1: number) => number;
408
+ EPDFSig_GetKind: (arg0: Ptr, arg1: number) => number;
409
+ EPDFSig_GetLockAction: (arg0: Ptr, arg1: number) => number;
410
+ EPDFSig_GetLockPermission: (arg0: Ptr, arg1: number) => number;
411
+ EPDFSig_GetRevisionIndex: (arg0: Ptr, arg1: number) => number;
412
+ EPDFSig_GetSeedValueFilter: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
413
+ EPDFSig_GetSeedValueListAt: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: Ptr, arg5: number) => number;
414
+ EPDFSig_GetSeedValueListCount: (arg0: Ptr, arg1: number, arg2: number) => number;
415
+ EPDFSig_GetSeedValueMDP: (arg0: Ptr, arg1: number) => number;
416
+ EPDFSig_GetSeedValuePresentFlags: (arg0: Ptr, arg1: number) => number;
417
+ EPDFSig_GetSeedValueRequiredFlags: (arg0: Ptr, arg1: number) => number;
418
+ EPDFSig_GetSeedValueVersion: (arg0: Ptr, arg1: number) => number;
419
+ EPDFSig_GetString: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number) => number;
420
+ EPDFSig_GetValueObjNum: (arg0: Ptr, arg1: number) => number;
421
+ EPDFSig_GetWidgetObjNum: (arg0: Ptr, arg1: number) => number;
422
+ EPDFSig_GetWidgetPageObjNum: (arg0: Ptr, arg1: number) => number;
423
+ EPDFSig_HasSeedValue: (arg0: Ptr, arg1: number) => boolean;
424
+ EPDFSig_IsCatalogCertification: (arg0: Ptr, arg1: number) => boolean;
425
+ EPDFSig_IsRevisionChainValid: (arg0: Ptr) => boolean;
426
+ EPDFSig_IsSigned: (arg0: Ptr, arg1: number) => boolean;
427
+ EPDFSig_LoadModel: (arg0: Ptr) => Ptr;
428
+ EPDFSig_Prepare: (arg0: Ptr, arg1: number, arg2: Ptr) => number;
429
+ EPDFSig_SaveCandidate: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr, arg5: Ptr) => boolean;
430
+ EPDFSig_SaveCandidateToOwnedBuffer: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr) => Ptr;
431
+ EPDFSig_Seal: (arg0: Ptr, arg1: bigint, arg2: bigint, arg3: bigint, arg4: number, arg5: Ptr, arg6: Ptr, arg7: Ptr, arg8: Ptr, arg9: Ptr) => boolean;
432
+ EPDFSig_SealSpan: (arg0: Ptr, arg1: bigint, arg2: bigint, arg3: bigint, arg4: Ptr, arg5: Ptr, arg6: Ptr) => boolean;
433
+ EPDFSig_SetFieldLock: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number, arg5: number) => boolean;
434
+ EPDFSig_WriteContents: (arg0: Ptr, arg1: bigint, arg2: bigint, arg3: bigint, arg4: Ptr, arg5: number) => boolean;
314
435
  EPDFText_GetCharGeometry: (arg0: Ptr, arg1: number, arg2: Ptr) => boolean;
315
436
  EPDFText_GetCharToTextMap: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
316
437
  EPDFText_GetTextFull: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
317
438
  EPDFText_RedactInQuads: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: boolean, arg4: boolean) => boolean;
318
439
  EPDFText_RedactInRect: (arg0: Ptr, arg1: Ptr, arg2: boolean, arg3: boolean) => boolean;
440
+ EPDFViewport_AddMeasure: (arg0: Ptr) => Ptr;
441
+ EPDFViewport_GetBBox: (arg0: Ptr, arg1: Ptr) => boolean;
442
+ EPDFViewport_GetMeasure: (arg0: Ptr) => Ptr;
443
+ EPDFViewport_GetName: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
444
+ EPDFViewport_RemoveMeasure: (arg0: Ptr) => boolean;
445
+ EPDFViewport_SetBBox: (arg0: Ptr, arg1: Ptr) => boolean;
446
+ EPDFViewport_SetName: (arg0: Ptr, arg1: Ptr) => boolean;
319
447
  FORM_CanRedo: (arg0: Ptr, arg1: Ptr) => boolean;
320
448
  FORM_CanUndo: (arg0: Ptr, arg1: Ptr) => boolean;
321
449
  FORM_DoDocumentAAction: (arg0: Ptr, arg1: number) => void;
@@ -783,6 +911,7 @@ type CallbackFn<K extends CallbackKind = CallbackKind> = (...args: unknown[]) =>
783
911
  interface PdfRuntimeMemory {
784
912
  alloc(bytes: number): Ptr;
785
913
  free(ptr: Ptr): void;
914
+ /** Returns an independent copy that remains valid after the allocation is freed. */
786
915
  readBytes(ptr: Ptr, len: number): Uint8Array;
787
916
  writeBytes(ptr: Ptr, data: Uint8Array): void;
788
917
  readU8String(ptr: Ptr): string;
@@ -810,6 +939,10 @@ interface PdfRuntimeFileAccess {
810
939
  fromMemory(bytes: Uint8Array | ArrayBuffer): PdfFileAccessHandle;
811
940
  /** Native/node only: range-reads a local file without loading it into JS. */
812
941
  fromNodeFile(path: string): PdfFileAccessHandle;
942
+ /** Native/node only: the bytes `[offset, offset + length)` of a local file (short at EOF). */
943
+ readRange(path: string, offset: number, length: number): Uint8Array;
944
+ /** Native/node only: byte length of a local file. */
945
+ sizeOf(path: string): number;
813
946
  }
814
947
  interface PdfFileWriteHandle {
815
948
  /** Pointer to the owned FPDF_FILEWRITE struct. */
@@ -817,9 +950,22 @@ interface PdfFileWriteHandle {
817
950
  /** Flushes/closes the underlying writer and releases native resources. */
818
951
  close(): void;
819
952
  }
953
+ /**
954
+ * Local-file operations the engine services need beyond PDFium's own
955
+ * writers: patching a few bytes in place (sealing a signing candidate),
956
+ * appending (streaming a verbatim copy), and removing a discarded file.
957
+ * Node-only; the wasm runtime throws, exactly as `toNodeFile` does. Kept
958
+ * here so the shared services never import a node module themselves.
959
+ */
820
960
  interface PdfRuntimeFileWrite {
821
961
  /** Native/node only: writes PDFium output directly to a local file. */
822
962
  toNodeFile(path: string): PdfFileWriteHandle;
963
+ /** Native/node only: overwrite `bytes` at `offset` in place (the file must already extend past it). */
964
+ writeRange(path: string, offset: number, bytes: Uint8Array): void;
965
+ /** Native/node only: append `bytes` to a local file, creating it when absent. */
966
+ appendBytes(path: string, bytes: Uint8Array): void;
967
+ /** Native/node only: delete a local file; a missing file is not an error. */
968
+ removeFile(path: string): void;
823
969
  }
824
970
  interface PdfRuntimeModule {
825
971
  readonly kind: 'wasm' | 'native';
package/dist/index.d.ts CHANGED
@@ -21,8 +21,11 @@ interface PdfFunctions {
21
21
  EPDF_RemoveEncryption: (arg0: Ptr) => boolean;
22
22
  EPDF_RenderAnnotBitmap: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: number, arg4: Ptr, arg5: number) => boolean;
23
23
  EPDF_RenderAnnotBitmapUnrotated: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: number, arg4: Ptr, arg5: number) => boolean;
24
+ EPDF_SaveAsCopyEx: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: Ptr) => boolean;
24
25
  EPDF_SaveDocumentToOwnedBuffer: (arg0: Ptr, arg1: number, arg2: Ptr) => Ptr;
26
+ EPDF_SaveDocumentToOwnedBufferEx: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: Ptr) => Ptr;
25
27
  EPDF_SaveDocumentToOwnedBufferWithVersion: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => Ptr;
28
+ EPDF_SetBaseDocumentSha256: (arg0: Ptr, arg1: Ptr) => void;
26
29
  EPDF_SetEncryption: (arg0: Ptr, arg1: string, arg2: string, arg3: number) => boolean;
27
30
  EPDF_SetMetaText: (arg0: Ptr, arg1: string, arg2: Ptr) => boolean;
28
31
  EPDF_SetMetaTrapped: (arg0: Ptr, arg1: number) => boolean;
@@ -60,6 +63,7 @@ interface PdfFunctions {
60
63
  EPDFAction_IsComplete: (arg0: Ptr) => boolean;
61
64
  EPDFAction_LoadModel: (arg0: Ptr) => Ptr;
62
65
  EPDFAction_NodeHasJavaScript: (arg0: Ptr, arg1: number) => boolean;
66
+ EPDFAnnot_AddMeasure: (arg0: Ptr) => Ptr;
63
67
  EPDFAnnot_ApplyRedaction: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
64
68
  EPDFAnnot_ClearBorderEffect: (arg0: Ptr) => boolean;
65
69
  EPDFAnnot_ClearColor: (arg0: Ptr, arg1: number) => boolean;
@@ -88,7 +92,10 @@ interface PdfFunctions {
88
92
  EPDFAnnot_GetEmbedMetadataRect: (arg0: Ptr, arg1: string, arg2: Ptr) => boolean;
89
93
  EPDFAnnot_GetEmbedMetadataString: (arg0: Ptr, arg1: string, arg2: Ptr, arg3: number) => number;
90
94
  EPDFAnnot_GetIntent: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
95
+ EPDFAnnot_GetLineCaption: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
91
96
  EPDFAnnot_GetLineEndings: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
97
+ EPDFAnnot_GetLineLeader: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
98
+ EPDFAnnot_GetMeasure: (arg0: Ptr) => Ptr;
92
99
  EPDFAnnot_GetMKColor: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr) => boolean;
93
100
  EPDFAnnot_GetName: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
94
101
  EPDFAnnot_GetObjectNumber: (arg0: Ptr) => number;
@@ -99,13 +106,16 @@ interface PdfFunctions {
99
106
  EPDFAnnot_GetRectangleDifferences: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr, arg4: Ptr) => boolean;
100
107
  EPDFAnnot_GetReplyType: (arg0: Ptr) => number;
101
108
  EPDFAnnot_GetRichContent: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
109
+ EPDFAnnot_GetRichTextJSON: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
102
110
  EPDFAnnot_GetRotate: (arg0: Ptr, arg1: Ptr) => boolean;
111
+ EPDFAnnot_GetShapeCaption: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
103
112
  EPDFAnnot_GetTextAlignment: (arg0: Ptr) => number;
104
113
  EPDFAnnot_HasAppearanceStream: (arg0: Ptr, arg1: number) => boolean;
105
114
  EPDFAnnot_HasEmbedMetadata: (arg0: Ptr) => boolean;
106
115
  EPDFAnnot_RemoveAction: (arg0: Ptr) => boolean;
107
116
  EPDFAnnot_RemoveDest: (arg0: Ptr) => boolean;
108
117
  EPDFAnnot_RemoveKey: (arg0: Ptr, arg1: string) => boolean;
118
+ EPDFAnnot_RemoveMeasure: (arg0: Ptr) => boolean;
109
119
  EPDFAnnot_SetAction: (arg0: Ptr, arg1: Ptr) => boolean;
110
120
  EPDFAnnot_SetAPMatrix: (arg0: Ptr, arg1: number, arg2: Ptr) => boolean;
111
121
  EPDFAnnot_SetAppearanceFromPage: (arg0: Ptr, arg1: Ptr, arg2: number) => boolean;
@@ -123,7 +133,9 @@ interface PdfFunctions {
123
133
  EPDFAnnot_SetEmbedMetadataString: (arg0: Ptr, arg1: string, arg2: Ptr) => boolean;
124
134
  EPDFAnnot_SetIntent: (arg0: Ptr, arg1: string) => boolean;
125
135
  EPDFAnnot_SetLine: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
136
+ EPDFAnnot_SetLineCaption: (arg0: Ptr, arg1: boolean, arg2: number, arg3: Ptr) => boolean;
126
137
  EPDFAnnot_SetLineEndings: (arg0: Ptr, arg1: number, arg2: number) => boolean;
138
+ EPDFAnnot_SetLineLeader: (arg0: Ptr, arg1: number, arg2: number, arg3: number) => boolean;
127
139
  EPDFAnnot_SetLinkedAnnot: (arg0: Ptr, arg1: string, arg2: Ptr) => boolean;
128
140
  EPDFAnnot_SetMKColor: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: number) => boolean;
129
141
  EPDFAnnot_SetName: (arg0: Ptr, arg1: string) => boolean;
@@ -134,7 +146,10 @@ interface PdfFunctions {
134
146
  EPDFAnnot_SetRect: (arg0: Ptr, arg1: Ptr) => boolean;
135
147
  EPDFAnnot_SetRectangleDifferences: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: number) => boolean;
136
148
  EPDFAnnot_SetReplyType: (arg0: Ptr, arg1: number) => boolean;
149
+ EPDFAnnot_SetRichTextJSON: (arg0: Ptr, arg1: string) => boolean;
150
+ EPDFAnnot_SetRichTextXHTML: (arg0: Ptr, arg1: Ptr) => boolean;
137
151
  EPDFAnnot_SetRotate: (arg0: Ptr, arg1: number) => boolean;
152
+ EPDFAnnot_SetShapeCaption: (arg0: Ptr, arg1: boolean, arg2: Ptr) => boolean;
138
153
  EPDFAnnot_SetTextAlignment: (arg0: Ptr, arg1: number) => boolean;
139
154
  EPDFAnnot_SetVertices: (arg0: Ptr, arg1: Ptr, arg2: number) => boolean;
140
155
  EPDFAnnot_UpdateAppearanceToRect: (arg0: Ptr, arg1: number) => boolean;
@@ -163,11 +178,15 @@ interface PdfFunctions {
163
178
  EPDFDoc_ClearPagePieceInfoKey: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: Ptr) => boolean;
164
179
  EPDFDoc_ClearPieceInfoEntry: (arg0: Ptr, arg1: string) => boolean;
165
180
  EPDFDoc_ClearPieceInfoKey: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr) => boolean;
181
+ EPDFDoc_CompareRevisions: (arg0: Ptr, arg1: Ptr) => Ptr;
166
182
  EPDFDoc_DeletePageByObjectNumber: (arg0: Ptr, arg1: number) => boolean;
167
183
  EPDFDoc_GetAdditionalActionModel: (arg0: Ptr, arg1: number) => Ptr;
168
184
  EPDFDoc_GetAttachmentIndexByKey: (arg0: Ptr, arg1: Ptr) => number;
169
185
  EPDFDoc_GetAttachmentKey: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
186
+ EPDFDoc_GetBaseBytesSize: (arg0: Ptr) => bigint;
187
+ EPDFDoc_GetFontEmbeddingPolicy: (arg0: Ptr) => number;
170
188
  EPDFDoc_GetLastModified: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
189
+ EPDFDoc_GetLoadedBytesSize: (arg0: Ptr) => bigint;
171
190
  EPDFDoc_GetNamedJavaScriptActionModel: (arg0: Ptr, arg1: number) => Ptr;
172
191
  EPDFDoc_GetNamedPageAt: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number, arg5: Ptr, arg6: Ptr) => number;
173
192
  EPDFDoc_GetNamedPageCount: (arg0: Ptr, arg1: number) => number;
@@ -200,12 +219,21 @@ interface PdfFunctions {
200
219
  EPDFDoc_GetPieceInfoStringArrayAt: (arg0: Ptr, arg1: string, arg2: string, arg3: number, arg4: Ptr, arg5: number) => number;
201
220
  EPDFDoc_GetPieceInfoStringArrayCount: (arg0: Ptr, arg1: string, arg2: string) => number;
202
221
  EPDFDoc_GetPieceInfoValueType: (arg0: Ptr, arg1: string, arg2: string) => number;
222
+ EPDFDoc_GetRevision: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr) => boolean;
223
+ EPDFDoc_GetRevisionCount: (arg0: Ptr) => number;
224
+ EPDFDoc_GetStructureObjectNumbers: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
225
+ EPDFDoc_GetTypographicFeatures: (arg0: Ptr) => boolean;
203
226
  EPDFDoc_HasPagePieceInfoEntry: (arg0: Ptr, arg1: number, arg2: string) => boolean;
204
227
  EPDFDoc_HasPieceInfoEntry: (arg0: Ptr, arg1: string) => boolean;
205
228
  EPDFDoc_LoadPageByObjectNumber: (arg0: Ptr, arg1: number) => Ptr;
206
229
  EPDFDoc_LoadPageByObjectNumberNormalized: (arg0: Ptr, arg1: number) => Ptr;
230
+ EPDFDoc_OpenBaseOverlay: (arg0: Ptr, arg1: Ptr, arg2: number) => Ptr;
231
+ EPDFDoc_OpenBaseOverlayFromPath: (arg0: Ptr, arg1: Ptr) => Ptr;
232
+ EPDFDoc_OpenRevision: (arg0: Ptr, arg1: bigint) => Ptr;
233
+ EPDFDoc_ReadLoadedBytes: (arg0: Ptr, arg1: bigint, arg2: Ptr, arg3: number) => number;
207
234
  EPDFDoc_RemoveNamedPage: (arg0: Ptr, arg1: Ptr) => boolean;
208
235
  EPDFDoc_RemoveNamedPagesForPage: (arg0: Ptr, arg1: number) => number;
236
+ EPDFDoc_SetFontEmbeddingPolicy: (arg0: Ptr, arg1: number) => boolean;
209
237
  EPDFDoc_SetNamedPage: (arg0: Ptr, arg1: Ptr, arg2: number) => boolean;
210
238
  EPDFDoc_SetPagePieceInfoBoolean: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: boolean, arg5: Ptr) => boolean;
211
239
  EPDFDoc_SetPagePieceInfoName: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: string, arg5: Ptr) => boolean;
@@ -218,10 +246,18 @@ interface PdfFunctions {
218
246
  EPDFDoc_SetPieceInfoNumber: (arg0: Ptr, arg1: string, arg2: string, arg3: number, arg4: Ptr) => boolean;
219
247
  EPDFDoc_SetPieceInfoString: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr, arg4: Ptr) => boolean;
220
248
  EPDFDoc_SetPieceInfoStringArray: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr, arg4: number, arg5: Ptr) => boolean;
249
+ EPDFDoc_SetTypographicFeatures: (arg0: Ptr, arg1: boolean) => boolean;
221
250
  EPDFDocument_ClearEmbedMetadata: (arg0: Ptr) => boolean;
222
251
  EPDFFont_AddFallbackFont: (arg0: number) => boolean;
252
+ EPDFFont_AuthorizeEditing: (arg0: number) => boolean;
223
253
  EPDFFont_ClearFallbackFonts: () => void;
224
254
  EPDFFont_ClearRegisteredFonts: () => void;
255
+ EPDFFont_GetEmbeddingPermission: (arg0: number) => number;
256
+ EPDFFont_GetFamilyName: (arg0: number, arg1: Ptr, arg2: number) => number;
257
+ EPDFFont_GetWeight: (arg0: number) => number;
258
+ EPDFFont_IsEditingAuthorized: (arg0: number) => boolean;
259
+ EPDFFont_IsInstanced: (arg0: number) => boolean;
260
+ EPDFFont_IsItalic: (arg0: number) => boolean;
225
261
  EPDFFont_RegisterFont: (arg0: string, arg1: number, arg2: number, arg3: Ptr) => number;
226
262
  EPDFFont_RegisterMemFont: (arg0: string, arg1: number, arg2: number, arg3: Ptr, arg4: number) => number;
227
263
  EPDFFont_RegisterMemFont64: (arg0: string, arg1: number, arg2: number, arg3: Ptr, arg4: number) => number;
@@ -286,19 +322,61 @@ interface PdfFunctions {
286
322
  EPDFImageObj_SetJpeg: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: number) => boolean;
287
323
  EPDFImageObj_SetPng: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: number) => boolean;
288
324
  EPDFLayer_GetBaseDocument: (arg0: Ptr) => Ptr;
325
+ EPDFLayer_GetBaseSha256: (arg0: Ptr, arg1: Ptr) => boolean;
289
326
  EPDFLayer_GetPromotedObjectCount: (arg0: Ptr) => number;
290
327
  EPDFLayer_IsObjectPromoted: (arg0: Ptr, arg1: number) => boolean;
291
328
  EPDFLayer_OpenLayer: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
292
329
  EPDFLayer_OpenLayerArtifact: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
330
+ EPDFLayer_OpenLayerArtifactFromPath: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
293
331
  EPDFLayer_SaveDelta: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
332
+ EPDFLayer_SaveDeltaEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
294
333
  EPDFLayer_SaveDeltaToOwnedBuffer: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => Ptr;
334
+ EPDFLayer_SaveDeltaToOwnedBufferEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => Ptr;
295
335
  EPDFLayer_SaveLayerArtifact: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
336
+ EPDFLayer_SaveLayerArtifactEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
296
337
  EPDFLayer_SaveLayerArtifactToOwnedBuffer: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => Ptr;
338
+ EPDFLayer_SaveLayerArtifactToOwnedBufferEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => Ptr;
339
+ EPDFMeasure_AddFormat: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => Ptr;
340
+ EPDFMeasure_CountFormats: (arg0: Ptr, arg1: number) => number;
341
+ EPDFMeasure_GetCYX: (arg0: Ptr, arg1: Ptr) => boolean;
342
+ EPDFMeasure_GetFormat: (arg0: Ptr, arg1: number, arg2: number) => Ptr;
343
+ EPDFMeasure_GetOrigin: (arg0: Ptr, arg1: Ptr) => boolean;
344
+ EPDFMeasure_GetRatio: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
345
+ EPDFMeasure_GetSubtype: (arg0: Ptr) => number;
346
+ EPDFMeasure_RemoveFormats: (arg0: Ptr, arg1: number) => boolean;
347
+ EPDFMeasure_SetCYX: (arg0: Ptr, arg1: Ptr) => boolean;
348
+ EPDFMeasure_SetOrigin: (arg0: Ptr, arg1: Ptr) => boolean;
349
+ EPDFMeasure_SetRatio: (arg0: Ptr, arg1: Ptr) => boolean;
297
350
  EPDFNamedDest_Remove: (arg0: Ptr, arg1: string) => boolean;
298
351
  EPDFNamedDest_SetDest: (arg0: Ptr, arg1: string, arg2: Ptr) => boolean;
352
+ EPDFNumberFormat_GetConversion: (arg0: Ptr, arg1: Ptr) => boolean;
353
+ EPDFNumberFormat_GetFixedDenominator: (arg0: Ptr, arg1: Ptr) => boolean;
354
+ EPDFNumberFormat_GetFraction: (arg0: Ptr, arg1: Ptr) => boolean;
355
+ EPDFNumberFormat_GetLabelPosition: (arg0: Ptr, arg1: Ptr) => boolean;
356
+ EPDFNumberFormat_GetPrecision: (arg0: Ptr, arg1: Ptr) => boolean;
357
+ EPDFNumberFormat_GetText: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
358
+ EPDFNumberFormat_GetUnit: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
359
+ EPDFNumberFormat_SetConversion: (arg0: Ptr, arg1: number) => boolean;
360
+ EPDFNumberFormat_SetFixedDenominator: (arg0: Ptr, arg1: boolean) => boolean;
361
+ EPDFNumberFormat_SetFraction: (arg0: Ptr, arg1: number) => boolean;
362
+ EPDFNumberFormat_SetLabelPosition: (arg0: Ptr, arg1: number) => boolean;
363
+ EPDFNumberFormat_SetPrecision: (arg0: Ptr, arg1: number) => boolean;
364
+ EPDFNumberFormat_SetText: (arg0: Ptr, arg1: number, arg2: Ptr) => boolean;
365
+ EPDFNumberFormat_SetUnit: (arg0: Ptr, arg1: Ptr) => boolean;
366
+ EPDFObjectDiff_Close: (arg0: Ptr) => void;
367
+ EPDFObjectDiff_GetCount: (arg0: Ptr) => number;
368
+ EPDFObjectDiff_GetEntry: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr, arg5: Ptr, arg6: Ptr, arg7: Ptr) => boolean;
369
+ EPDFObjectDiff_GetReadStatus: (arg0: Ptr, arg1: number, arg2: number) => number;
370
+ EPDFObjectDiff_GetReferrer: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: Ptr, arg5: Ptr, arg6: number) => number;
371
+ EPDFObjectDiff_GetReferrerCount: (arg0: Ptr, arg1: number, arg2: number) => number;
372
+ EPDFObjectDiff_GetRevisionHealth: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr) => boolean;
373
+ EPDFObjectDiff_GetValue: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number, arg5: Ptr) => number;
374
+ EPDFPage_AddViewport: (arg0: Ptr, arg1: Ptr) => Ptr;
299
375
  EPDFPage_ApplyRedactions: (arg0: Ptr, arg1: Ptr) => boolean;
376
+ EPDFPage_CountViewports: (arg0: Ptr) => number;
300
377
  EPDFPage_CreateAnnot: (arg0: Ptr, arg1: number) => Ptr;
301
378
  EPDFPage_ExportAnnotationsAsDocument: (arg0: Ptr, arg1: Ptr, arg2: number) => Ptr;
379
+ EPDFPage_FindViewport: (arg0: Ptr, arg1: Ptr) => number;
302
380
  EPDFPage_Flatten: (arg0: Ptr, arg1: number) => number;
303
381
  EPDFPage_FlattenAnnotations: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: number, arg4: Ptr) => number;
304
382
  EPDFPage_GetAnnotByName: (arg0: Ptr, arg1: Ptr) => Ptr;
@@ -306,16 +384,66 @@ interface PdfFunctions {
306
384
  EPDFPage_GetAnnotCountRaw: (arg0: Ptr, arg1: number) => number;
307
385
  EPDFPage_GetAnnotRaw: (arg0: Ptr, arg1: number, arg2: number) => Ptr;
308
386
  EPDFPage_GetObjectNumber: (arg0: Ptr) => number;
387
+ EPDFPage_GetViewport: (arg0: Ptr, arg1: number) => Ptr;
309
388
  EPDFPage_MoveAnnots: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: number) => boolean;
310
389
  EPDFPage_RemoveAnnot: (arg0: Ptr, arg1: number) => boolean;
311
390
  EPDFPage_RemoveAnnotByName: (arg0: Ptr, arg1: Ptr) => boolean;
312
391
  EPDFPage_RemoveAnnotByObjectNumber: (arg0: Ptr, arg1: number) => boolean;
313
392
  EPDFPage_RemoveAnnotRaw: (arg0: Ptr, arg1: number, arg2: number) => boolean;
393
+ EPDFPage_RemoveViewport: (arg0: Ptr, arg1: number) => boolean;
394
+ EPDFSig_CloseModel: (arg0: Ptr) => void;
395
+ EPDFSig_Count: (arg0: Ptr) => number;
396
+ EPDFSig_DigestByteRange: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: Ptr, arg4: Ptr) => boolean;
397
+ EPDFSig_DigestFileRange: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: Ptr, arg4: Ptr) => boolean;
398
+ EPDFSig_GetByteRange: (arg0: Ptr, arg1: number, arg2: Ptr) => boolean;
399
+ EPDFSig_GetContents: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
400
+ EPDFSig_GetCoverage: (arg0: Ptr, arg1: number) => number;
401
+ EPDFSig_GetDocMDPPermission: (arg0: Ptr, arg1: number) => number;
402
+ EPDFSig_GetFieldMDPAction: (arg0: Ptr, arg1: number) => number;
403
+ EPDFSig_GetFieldName: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
404
+ EPDFSig_GetFieldNameAt: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: Ptr, arg5: number) => number;
405
+ EPDFSig_GetFieldNameCount: (arg0: Ptr, arg1: number, arg2: number) => number;
406
+ EPDFSig_GetFieldObjNum: (arg0: Ptr, arg1: number) => number;
407
+ EPDFSig_GetIndexByFieldObjNum: (arg0: Ptr, arg1: number) => number;
408
+ EPDFSig_GetKind: (arg0: Ptr, arg1: number) => number;
409
+ EPDFSig_GetLockAction: (arg0: Ptr, arg1: number) => number;
410
+ EPDFSig_GetLockPermission: (arg0: Ptr, arg1: number) => number;
411
+ EPDFSig_GetRevisionIndex: (arg0: Ptr, arg1: number) => number;
412
+ EPDFSig_GetSeedValueFilter: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
413
+ EPDFSig_GetSeedValueListAt: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: Ptr, arg5: number) => number;
414
+ EPDFSig_GetSeedValueListCount: (arg0: Ptr, arg1: number, arg2: number) => number;
415
+ EPDFSig_GetSeedValueMDP: (arg0: Ptr, arg1: number) => number;
416
+ EPDFSig_GetSeedValuePresentFlags: (arg0: Ptr, arg1: number) => number;
417
+ EPDFSig_GetSeedValueRequiredFlags: (arg0: Ptr, arg1: number) => number;
418
+ EPDFSig_GetSeedValueVersion: (arg0: Ptr, arg1: number) => number;
419
+ EPDFSig_GetString: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number) => number;
420
+ EPDFSig_GetValueObjNum: (arg0: Ptr, arg1: number) => number;
421
+ EPDFSig_GetWidgetObjNum: (arg0: Ptr, arg1: number) => number;
422
+ EPDFSig_GetWidgetPageObjNum: (arg0: Ptr, arg1: number) => number;
423
+ EPDFSig_HasSeedValue: (arg0: Ptr, arg1: number) => boolean;
424
+ EPDFSig_IsCatalogCertification: (arg0: Ptr, arg1: number) => boolean;
425
+ EPDFSig_IsRevisionChainValid: (arg0: Ptr) => boolean;
426
+ EPDFSig_IsSigned: (arg0: Ptr, arg1: number) => boolean;
427
+ EPDFSig_LoadModel: (arg0: Ptr) => Ptr;
428
+ EPDFSig_Prepare: (arg0: Ptr, arg1: number, arg2: Ptr) => number;
429
+ EPDFSig_SaveCandidate: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr, arg5: Ptr) => boolean;
430
+ EPDFSig_SaveCandidateToOwnedBuffer: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr) => Ptr;
431
+ EPDFSig_Seal: (arg0: Ptr, arg1: bigint, arg2: bigint, arg3: bigint, arg4: number, arg5: Ptr, arg6: Ptr, arg7: Ptr, arg8: Ptr, arg9: Ptr) => boolean;
432
+ EPDFSig_SealSpan: (arg0: Ptr, arg1: bigint, arg2: bigint, arg3: bigint, arg4: Ptr, arg5: Ptr, arg6: Ptr) => boolean;
433
+ EPDFSig_SetFieldLock: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number, arg5: number) => boolean;
434
+ EPDFSig_WriteContents: (arg0: Ptr, arg1: bigint, arg2: bigint, arg3: bigint, arg4: Ptr, arg5: number) => boolean;
314
435
  EPDFText_GetCharGeometry: (arg0: Ptr, arg1: number, arg2: Ptr) => boolean;
315
436
  EPDFText_GetCharToTextMap: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
316
437
  EPDFText_GetTextFull: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
317
438
  EPDFText_RedactInQuads: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: boolean, arg4: boolean) => boolean;
318
439
  EPDFText_RedactInRect: (arg0: Ptr, arg1: Ptr, arg2: boolean, arg3: boolean) => boolean;
440
+ EPDFViewport_AddMeasure: (arg0: Ptr) => Ptr;
441
+ EPDFViewport_GetBBox: (arg0: Ptr, arg1: Ptr) => boolean;
442
+ EPDFViewport_GetMeasure: (arg0: Ptr) => Ptr;
443
+ EPDFViewport_GetName: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
444
+ EPDFViewport_RemoveMeasure: (arg0: Ptr) => boolean;
445
+ EPDFViewport_SetBBox: (arg0: Ptr, arg1: Ptr) => boolean;
446
+ EPDFViewport_SetName: (arg0: Ptr, arg1: Ptr) => boolean;
319
447
  FORM_CanRedo: (arg0: Ptr, arg1: Ptr) => boolean;
320
448
  FORM_CanUndo: (arg0: Ptr, arg1: Ptr) => boolean;
321
449
  FORM_DoDocumentAAction: (arg0: Ptr, arg1: number) => void;
@@ -783,6 +911,7 @@ type CallbackFn<K extends CallbackKind = CallbackKind> = (...args: unknown[]) =>
783
911
  interface PdfRuntimeMemory {
784
912
  alloc(bytes: number): Ptr;
785
913
  free(ptr: Ptr): void;
914
+ /** Returns an independent copy that remains valid after the allocation is freed. */
786
915
  readBytes(ptr: Ptr, len: number): Uint8Array;
787
916
  writeBytes(ptr: Ptr, data: Uint8Array): void;
788
917
  readU8String(ptr: Ptr): string;
@@ -810,6 +939,10 @@ interface PdfRuntimeFileAccess {
810
939
  fromMemory(bytes: Uint8Array | ArrayBuffer): PdfFileAccessHandle;
811
940
  /** Native/node only: range-reads a local file without loading it into JS. */
812
941
  fromNodeFile(path: string): PdfFileAccessHandle;
942
+ /** Native/node only: the bytes `[offset, offset + length)` of a local file (short at EOF). */
943
+ readRange(path: string, offset: number, length: number): Uint8Array;
944
+ /** Native/node only: byte length of a local file. */
945
+ sizeOf(path: string): number;
813
946
  }
814
947
  interface PdfFileWriteHandle {
815
948
  /** Pointer to the owned FPDF_FILEWRITE struct. */
@@ -817,9 +950,22 @@ interface PdfFileWriteHandle {
817
950
  /** Flushes/closes the underlying writer and releases native resources. */
818
951
  close(): void;
819
952
  }
953
+ /**
954
+ * Local-file operations the engine services need beyond PDFium's own
955
+ * writers: patching a few bytes in place (sealing a signing candidate),
956
+ * appending (streaming a verbatim copy), and removing a discarded file.
957
+ * Node-only; the wasm runtime throws, exactly as `toNodeFile` does. Kept
958
+ * here so the shared services never import a node module themselves.
959
+ */
820
960
  interface PdfRuntimeFileWrite {
821
961
  /** Native/node only: writes PDFium output directly to a local file. */
822
962
  toNodeFile(path: string): PdfFileWriteHandle;
963
+ /** Native/node only: overwrite `bytes` at `offset` in place (the file must already extend past it). */
964
+ writeRange(path: string, offset: number, bytes: Uint8Array): void;
965
+ /** Native/node only: append `bytes` to a local file, creating it when absent. */
966
+ appendBytes(path: string, bytes: Uint8Array): void;
967
+ /** Native/node only: delete a local file; a missing file is not an error. */
968
+ removeFile(path: string): void;
823
969
  }
824
970
  interface PdfRuntimeModule {
825
971
  readonly kind: 'wasm' | 'native';