@embedpdf/engine-runtime 3.0.0-next.11 → 3.0.0-next.13

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;
@@ -67,9 +70,6 @@ interface PdfFunctions {
67
70
  EPDFAnnot_ClearEmbedMetadataKey: (arg0: Ptr, arg1: string) => boolean;
68
71
  EPDFAnnot_ClearMKColor: (arg0: Ptr, arg1: number) => boolean;
69
72
  EPDFAnnot_ClearRectangleDifferences: (arg0: Ptr) => boolean;
70
- EPDFAnnot_ExportAppearanceAsDocument: (arg0: Ptr) => Ptr;
71
- EPDFAnnot_ExportMultipleAppearancesAsDocument: (arg0: Ptr, arg1: number) => Ptr;
72
- EPDFAnnot_Flatten: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
73
73
  EPDFAnnot_GenerateAppearance: (arg0: Ptr) => boolean;
74
74
  EPDFAnnot_GenerateAppearanceWithBlend: (arg0: Ptr, arg1: number) => boolean;
75
75
  EPDFAnnot_GenerateFormFieldAP: (arg0: Ptr) => boolean;
@@ -93,7 +93,7 @@ interface PdfFunctions {
93
93
  EPDFAnnot_GetIntent: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
94
94
  EPDFAnnot_GetLineEndings: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
95
95
  EPDFAnnot_GetMKColor: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr) => boolean;
96
- EPDFAnnot_GetName: (arg0: Ptr) => number;
96
+ EPDFAnnot_GetName: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
97
97
  EPDFAnnot_GetObjectNumber: (arg0: Ptr) => number;
98
98
  EPDFAnnot_GetOpacity: (arg0: Ptr, arg1: Ptr) => boolean;
99
99
  EPDFAnnot_GetOverlayText: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
@@ -102,6 +102,7 @@ interface PdfFunctions {
102
102
  EPDFAnnot_GetRectangleDifferences: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr, arg4: Ptr) => boolean;
103
103
  EPDFAnnot_GetReplyType: (arg0: Ptr) => number;
104
104
  EPDFAnnot_GetRichContent: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
105
+ EPDFAnnot_GetRichTextJSON: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
105
106
  EPDFAnnot_GetRotate: (arg0: Ptr, arg1: Ptr) => boolean;
106
107
  EPDFAnnot_GetTextAlignment: (arg0: Ptr) => number;
107
108
  EPDFAnnot_HasAppearanceStream: (arg0: Ptr, arg1: number) => boolean;
@@ -129,7 +130,7 @@ interface PdfFunctions {
129
130
  EPDFAnnot_SetLineEndings: (arg0: Ptr, arg1: number, arg2: number) => boolean;
130
131
  EPDFAnnot_SetLinkedAnnot: (arg0: Ptr, arg1: string, arg2: Ptr) => boolean;
131
132
  EPDFAnnot_SetMKColor: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: number) => boolean;
132
- EPDFAnnot_SetName: (arg0: Ptr, arg1: number) => boolean;
133
+ EPDFAnnot_SetName: (arg0: Ptr, arg1: string) => boolean;
133
134
  EPDFAnnot_SetNumberValue: (arg0: Ptr, arg1: string, arg2: number) => boolean;
134
135
  EPDFAnnot_SetOpacity: (arg0: Ptr, arg1: number) => boolean;
135
136
  EPDFAnnot_SetOverlayText: (arg0: Ptr, arg1: Ptr) => boolean;
@@ -137,6 +138,8 @@ interface PdfFunctions {
137
138
  EPDFAnnot_SetRect: (arg0: Ptr, arg1: Ptr) => boolean;
138
139
  EPDFAnnot_SetRectangleDifferences: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: number) => boolean;
139
140
  EPDFAnnot_SetReplyType: (arg0: Ptr, arg1: number) => boolean;
141
+ EPDFAnnot_SetRichTextJSON: (arg0: Ptr, arg1: string) => boolean;
142
+ EPDFAnnot_SetRichTextXHTML: (arg0: Ptr, arg1: Ptr) => boolean;
140
143
  EPDFAnnot_SetRotate: (arg0: Ptr, arg1: number) => boolean;
141
144
  EPDFAnnot_SetTextAlignment: (arg0: Ptr, arg1: number) => boolean;
142
145
  EPDFAnnot_SetVertices: (arg0: Ptr, arg1: Ptr, arg2: number) => boolean;
@@ -166,12 +169,18 @@ interface PdfFunctions {
166
169
  EPDFDoc_ClearPagePieceInfoKey: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: Ptr) => boolean;
167
170
  EPDFDoc_ClearPieceInfoEntry: (arg0: Ptr, arg1: string) => boolean;
168
171
  EPDFDoc_ClearPieceInfoKey: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr) => boolean;
172
+ EPDFDoc_CompareRevisions: (arg0: Ptr, arg1: Ptr) => Ptr;
169
173
  EPDFDoc_DeletePageByObjectNumber: (arg0: Ptr, arg1: number) => boolean;
170
174
  EPDFDoc_GetAdditionalActionModel: (arg0: Ptr, arg1: number) => Ptr;
171
175
  EPDFDoc_GetAttachmentIndexByKey: (arg0: Ptr, arg1: Ptr) => number;
172
176
  EPDFDoc_GetAttachmentKey: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
177
+ EPDFDoc_GetBaseBytesSize: (arg0: Ptr) => bigint;
178
+ EPDFDoc_GetFontEmbeddingPolicy: (arg0: Ptr) => number;
173
179
  EPDFDoc_GetLastModified: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
180
+ EPDFDoc_GetLoadedBytesSize: (arg0: Ptr) => bigint;
174
181
  EPDFDoc_GetNamedJavaScriptActionModel: (arg0: Ptr, arg1: number) => Ptr;
182
+ EPDFDoc_GetNamedPageAt: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number, arg5: Ptr, arg6: Ptr) => number;
183
+ EPDFDoc_GetNamedPageCount: (arg0: Ptr, arg1: number) => number;
175
184
  EPDFDoc_GetOpenActionDest: (arg0: Ptr) => Ptr;
176
185
  EPDFDoc_GetOpenActionModel: (arg0: Ptr) => Ptr;
177
186
  EPDFDoc_GetPageActionModel: (arg0: Ptr, arg1: number, arg2: number) => Ptr;
@@ -201,10 +210,22 @@ interface PdfFunctions {
201
210
  EPDFDoc_GetPieceInfoStringArrayAt: (arg0: Ptr, arg1: string, arg2: string, arg3: number, arg4: Ptr, arg5: number) => number;
202
211
  EPDFDoc_GetPieceInfoStringArrayCount: (arg0: Ptr, arg1: string, arg2: string) => number;
203
212
  EPDFDoc_GetPieceInfoValueType: (arg0: Ptr, arg1: string, arg2: string) => number;
213
+ EPDFDoc_GetRevision: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr) => boolean;
214
+ EPDFDoc_GetRevisionCount: (arg0: Ptr) => number;
215
+ EPDFDoc_GetStructureObjectNumbers: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
216
+ EPDFDoc_GetTypographicFeatures: (arg0: Ptr) => boolean;
204
217
  EPDFDoc_HasPagePieceInfoEntry: (arg0: Ptr, arg1: number, arg2: string) => boolean;
205
218
  EPDFDoc_HasPieceInfoEntry: (arg0: Ptr, arg1: string) => boolean;
206
219
  EPDFDoc_LoadPageByObjectNumber: (arg0: Ptr, arg1: number) => Ptr;
207
220
  EPDFDoc_LoadPageByObjectNumberNormalized: (arg0: Ptr, arg1: number) => Ptr;
221
+ EPDFDoc_OpenBaseOverlay: (arg0: Ptr, arg1: Ptr, arg2: number) => Ptr;
222
+ EPDFDoc_OpenBaseOverlayFromPath: (arg0: Ptr, arg1: Ptr) => Ptr;
223
+ EPDFDoc_OpenRevision: (arg0: Ptr, arg1: bigint) => Ptr;
224
+ EPDFDoc_ReadLoadedBytes: (arg0: Ptr, arg1: bigint, arg2: Ptr, arg3: number) => number;
225
+ EPDFDoc_RemoveNamedPage: (arg0: Ptr, arg1: Ptr) => boolean;
226
+ EPDFDoc_RemoveNamedPagesForPage: (arg0: Ptr, arg1: number) => number;
227
+ EPDFDoc_SetFontEmbeddingPolicy: (arg0: Ptr, arg1: number) => boolean;
228
+ EPDFDoc_SetNamedPage: (arg0: Ptr, arg1: Ptr, arg2: number) => boolean;
208
229
  EPDFDoc_SetPagePieceInfoBoolean: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: boolean, arg5: Ptr) => boolean;
209
230
  EPDFDoc_SetPagePieceInfoName: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: string, arg5: Ptr) => boolean;
210
231
  EPDFDoc_SetPagePieceInfoNumber: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: number, arg5: Ptr) => boolean;
@@ -216,10 +237,18 @@ interface PdfFunctions {
216
237
  EPDFDoc_SetPieceInfoNumber: (arg0: Ptr, arg1: string, arg2: string, arg3: number, arg4: Ptr) => boolean;
217
238
  EPDFDoc_SetPieceInfoString: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr, arg4: Ptr) => boolean;
218
239
  EPDFDoc_SetPieceInfoStringArray: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr, arg4: number, arg5: Ptr) => boolean;
240
+ EPDFDoc_SetTypographicFeatures: (arg0: Ptr, arg1: boolean) => boolean;
219
241
  EPDFDocument_ClearEmbedMetadata: (arg0: Ptr) => boolean;
220
242
  EPDFFont_AddFallbackFont: (arg0: number) => boolean;
243
+ EPDFFont_AuthorizeEditing: (arg0: number) => boolean;
221
244
  EPDFFont_ClearFallbackFonts: () => void;
222
245
  EPDFFont_ClearRegisteredFonts: () => void;
246
+ EPDFFont_GetEmbeddingPermission: (arg0: number) => number;
247
+ EPDFFont_GetFamilyName: (arg0: number, arg1: Ptr, arg2: number) => number;
248
+ EPDFFont_GetWeight: (arg0: number) => number;
249
+ EPDFFont_IsEditingAuthorized: (arg0: number) => boolean;
250
+ EPDFFont_IsInstanced: (arg0: number) => boolean;
251
+ EPDFFont_IsItalic: (arg0: number) => boolean;
223
252
  EPDFFont_RegisterFont: (arg0: string, arg1: number, arg2: number, arg3: Ptr) => number;
224
253
  EPDFFont_RegisterMemFont: (arg0: string, arg1: number, arg2: number, arg3: Ptr, arg4: number) => number;
225
254
  EPDFFont_RegisterMemFont64: (arg0: string, arg1: number, arg2: number, arg3: Ptr, arg4: number) => number;
@@ -284,19 +313,35 @@ interface PdfFunctions {
284
313
  EPDFImageObj_SetJpeg: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: number) => boolean;
285
314
  EPDFImageObj_SetPng: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: number) => boolean;
286
315
  EPDFLayer_GetBaseDocument: (arg0: Ptr) => Ptr;
316
+ EPDFLayer_GetBaseSha256: (arg0: Ptr, arg1: Ptr) => boolean;
287
317
  EPDFLayer_GetPromotedObjectCount: (arg0: Ptr) => number;
288
318
  EPDFLayer_IsObjectPromoted: (arg0: Ptr, arg1: number) => boolean;
289
319
  EPDFLayer_OpenLayer: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
290
320
  EPDFLayer_OpenLayerArtifact: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
321
+ EPDFLayer_OpenLayerArtifactFromPath: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
291
322
  EPDFLayer_SaveDelta: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
323
+ EPDFLayer_SaveDeltaEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
292
324
  EPDFLayer_SaveDeltaToOwnedBuffer: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => Ptr;
325
+ EPDFLayer_SaveDeltaToOwnedBufferEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => Ptr;
293
326
  EPDFLayer_SaveLayerArtifact: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
327
+ EPDFLayer_SaveLayerArtifactEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
294
328
  EPDFLayer_SaveLayerArtifactToOwnedBuffer: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => Ptr;
329
+ EPDFLayer_SaveLayerArtifactToOwnedBufferEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => Ptr;
295
330
  EPDFNamedDest_Remove: (arg0: Ptr, arg1: string) => boolean;
296
331
  EPDFNamedDest_SetDest: (arg0: Ptr, arg1: string, arg2: Ptr) => boolean;
332
+ EPDFObjectDiff_Close: (arg0: Ptr) => void;
333
+ EPDFObjectDiff_GetCount: (arg0: Ptr) => number;
334
+ EPDFObjectDiff_GetEntry: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr, arg5: Ptr, arg6: Ptr, arg7: Ptr) => boolean;
335
+ EPDFObjectDiff_GetReadStatus: (arg0: Ptr, arg1: number, arg2: number) => number;
336
+ EPDFObjectDiff_GetReferrer: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: Ptr, arg5: Ptr, arg6: number) => number;
337
+ EPDFObjectDiff_GetReferrerCount: (arg0: Ptr, arg1: number, arg2: number) => number;
338
+ EPDFObjectDiff_GetRevisionHealth: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr) => boolean;
339
+ EPDFObjectDiff_GetValue: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number, arg5: Ptr) => number;
297
340
  EPDFPage_ApplyRedactions: (arg0: Ptr, arg1: Ptr) => boolean;
298
341
  EPDFPage_CreateAnnot: (arg0: Ptr, arg1: number) => Ptr;
342
+ EPDFPage_ExportAnnotationsAsDocument: (arg0: Ptr, arg1: Ptr, arg2: number) => Ptr;
299
343
  EPDFPage_Flatten: (arg0: Ptr, arg1: number) => number;
344
+ EPDFPage_FlattenAnnotations: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: number, arg4: Ptr) => number;
300
345
  EPDFPage_GetAnnotByName: (arg0: Ptr, arg1: Ptr) => Ptr;
301
346
  EPDFPage_GetAnnotByObjectNumber: (arg0: Ptr, arg1: number) => Ptr;
302
347
  EPDFPage_GetAnnotCountRaw: (arg0: Ptr, arg1: number) => number;
@@ -307,6 +352,47 @@ interface PdfFunctions {
307
352
  EPDFPage_RemoveAnnotByName: (arg0: Ptr, arg1: Ptr) => boolean;
308
353
  EPDFPage_RemoveAnnotByObjectNumber: (arg0: Ptr, arg1: number) => boolean;
309
354
  EPDFPage_RemoveAnnotRaw: (arg0: Ptr, arg1: number, arg2: number) => boolean;
355
+ EPDFSig_CloseModel: (arg0: Ptr) => void;
356
+ EPDFSig_Count: (arg0: Ptr) => number;
357
+ EPDFSig_DigestByteRange: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: Ptr, arg4: Ptr) => boolean;
358
+ EPDFSig_DigestFileRange: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: Ptr, arg4: Ptr) => boolean;
359
+ EPDFSig_GetByteRange: (arg0: Ptr, arg1: number, arg2: Ptr) => boolean;
360
+ EPDFSig_GetContents: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
361
+ EPDFSig_GetCoverage: (arg0: Ptr, arg1: number) => number;
362
+ EPDFSig_GetDocMDPPermission: (arg0: Ptr, arg1: number) => number;
363
+ EPDFSig_GetFieldMDPAction: (arg0: Ptr, arg1: number) => number;
364
+ EPDFSig_GetFieldName: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
365
+ EPDFSig_GetFieldNameAt: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: Ptr, arg5: number) => number;
366
+ EPDFSig_GetFieldNameCount: (arg0: Ptr, arg1: number, arg2: number) => number;
367
+ EPDFSig_GetFieldObjNum: (arg0: Ptr, arg1: number) => number;
368
+ EPDFSig_GetIndexByFieldObjNum: (arg0: Ptr, arg1: number) => number;
369
+ EPDFSig_GetKind: (arg0: Ptr, arg1: number) => number;
370
+ EPDFSig_GetLockAction: (arg0: Ptr, arg1: number) => number;
371
+ EPDFSig_GetLockPermission: (arg0: Ptr, arg1: number) => number;
372
+ EPDFSig_GetRevisionIndex: (arg0: Ptr, arg1: number) => number;
373
+ EPDFSig_GetSeedValueFilter: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
374
+ EPDFSig_GetSeedValueListAt: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: Ptr, arg5: number) => number;
375
+ EPDFSig_GetSeedValueListCount: (arg0: Ptr, arg1: number, arg2: number) => number;
376
+ EPDFSig_GetSeedValueMDP: (arg0: Ptr, arg1: number) => number;
377
+ EPDFSig_GetSeedValuePresentFlags: (arg0: Ptr, arg1: number) => number;
378
+ EPDFSig_GetSeedValueRequiredFlags: (arg0: Ptr, arg1: number) => number;
379
+ EPDFSig_GetSeedValueVersion: (arg0: Ptr, arg1: number) => number;
380
+ EPDFSig_GetString: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number) => number;
381
+ EPDFSig_GetValueObjNum: (arg0: Ptr, arg1: number) => number;
382
+ EPDFSig_GetWidgetObjNum: (arg0: Ptr, arg1: number) => number;
383
+ EPDFSig_GetWidgetPageObjNum: (arg0: Ptr, arg1: number) => number;
384
+ EPDFSig_HasSeedValue: (arg0: Ptr, arg1: number) => boolean;
385
+ EPDFSig_IsCatalogCertification: (arg0: Ptr, arg1: number) => boolean;
386
+ EPDFSig_IsRevisionChainValid: (arg0: Ptr) => boolean;
387
+ EPDFSig_IsSigned: (arg0: Ptr, arg1: number) => boolean;
388
+ EPDFSig_LoadModel: (arg0: Ptr) => Ptr;
389
+ EPDFSig_Prepare: (arg0: Ptr, arg1: number, arg2: Ptr) => number;
390
+ EPDFSig_SaveCandidate: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr, arg5: Ptr) => boolean;
391
+ EPDFSig_SaveCandidateToOwnedBuffer: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr) => Ptr;
392
+ EPDFSig_Seal: (arg0: Ptr, arg1: bigint, arg2: bigint, arg3: bigint, arg4: number, arg5: Ptr, arg6: Ptr, arg7: Ptr, arg8: Ptr, arg9: Ptr) => boolean;
393
+ EPDFSig_SealSpan: (arg0: Ptr, arg1: bigint, arg2: bigint, arg3: bigint, arg4: Ptr, arg5: Ptr, arg6: Ptr) => boolean;
394
+ EPDFSig_SetFieldLock: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number, arg5: number) => boolean;
395
+ EPDFSig_WriteContents: (arg0: Ptr, arg1: bigint, arg2: bigint, arg3: bigint, arg4: Ptr, arg5: number) => boolean;
310
396
  EPDFText_GetCharGeometry: (arg0: Ptr, arg1: number, arg2: Ptr) => boolean;
311
397
  EPDFText_GetCharToTextMap: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
312
398
  EPDFText_GetTextFull: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
@@ -806,6 +892,10 @@ interface PdfRuntimeFileAccess {
806
892
  fromMemory(bytes: Uint8Array | ArrayBuffer): PdfFileAccessHandle;
807
893
  /** Native/node only: range-reads a local file without loading it into JS. */
808
894
  fromNodeFile(path: string): PdfFileAccessHandle;
895
+ /** Native/node only: the bytes `[offset, offset + length)` of a local file (short at EOF). */
896
+ readRange(path: string, offset: number, length: number): Uint8Array;
897
+ /** Native/node only: byte length of a local file. */
898
+ sizeOf(path: string): number;
809
899
  }
810
900
  interface PdfFileWriteHandle {
811
901
  /** Pointer to the owned FPDF_FILEWRITE struct. */
@@ -813,9 +903,22 @@ interface PdfFileWriteHandle {
813
903
  /** Flushes/closes the underlying writer and releases native resources. */
814
904
  close(): void;
815
905
  }
906
+ /**
907
+ * Local-file operations the engine services need beyond PDFium's own
908
+ * writers: patching a few bytes in place (sealing a signing candidate),
909
+ * appending (streaming a verbatim copy), and removing a discarded file.
910
+ * Node-only; the wasm runtime throws, exactly as `toNodeFile` does. Kept
911
+ * here so the shared services never import a node module themselves.
912
+ */
816
913
  interface PdfRuntimeFileWrite {
817
914
  /** Native/node only: writes PDFium output directly to a local file. */
818
915
  toNodeFile(path: string): PdfFileWriteHandle;
916
+ /** Native/node only: overwrite `bytes` at `offset` in place (the file must already extend past it). */
917
+ writeRange(path: string, offset: number, bytes: Uint8Array): void;
918
+ /** Native/node only: append `bytes` to a local file, creating it when absent. */
919
+ appendBytes(path: string, bytes: Uint8Array): void;
920
+ /** Native/node only: delete a local file; a missing file is not an error. */
921
+ removeFile(path: string): void;
819
922
  }
820
923
  interface PdfRuntimeModule {
821
924
  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;
@@ -67,9 +70,6 @@ interface PdfFunctions {
67
70
  EPDFAnnot_ClearEmbedMetadataKey: (arg0: Ptr, arg1: string) => boolean;
68
71
  EPDFAnnot_ClearMKColor: (arg0: Ptr, arg1: number) => boolean;
69
72
  EPDFAnnot_ClearRectangleDifferences: (arg0: Ptr) => boolean;
70
- EPDFAnnot_ExportAppearanceAsDocument: (arg0: Ptr) => Ptr;
71
- EPDFAnnot_ExportMultipleAppearancesAsDocument: (arg0: Ptr, arg1: number) => Ptr;
72
- EPDFAnnot_Flatten: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
73
73
  EPDFAnnot_GenerateAppearance: (arg0: Ptr) => boolean;
74
74
  EPDFAnnot_GenerateAppearanceWithBlend: (arg0: Ptr, arg1: number) => boolean;
75
75
  EPDFAnnot_GenerateFormFieldAP: (arg0: Ptr) => boolean;
@@ -93,7 +93,7 @@ interface PdfFunctions {
93
93
  EPDFAnnot_GetIntent: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
94
94
  EPDFAnnot_GetLineEndings: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
95
95
  EPDFAnnot_GetMKColor: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr) => boolean;
96
- EPDFAnnot_GetName: (arg0: Ptr) => number;
96
+ EPDFAnnot_GetName: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
97
97
  EPDFAnnot_GetObjectNumber: (arg0: Ptr) => number;
98
98
  EPDFAnnot_GetOpacity: (arg0: Ptr, arg1: Ptr) => boolean;
99
99
  EPDFAnnot_GetOverlayText: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
@@ -102,6 +102,7 @@ interface PdfFunctions {
102
102
  EPDFAnnot_GetRectangleDifferences: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr, arg4: Ptr) => boolean;
103
103
  EPDFAnnot_GetReplyType: (arg0: Ptr) => number;
104
104
  EPDFAnnot_GetRichContent: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
105
+ EPDFAnnot_GetRichTextJSON: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
105
106
  EPDFAnnot_GetRotate: (arg0: Ptr, arg1: Ptr) => boolean;
106
107
  EPDFAnnot_GetTextAlignment: (arg0: Ptr) => number;
107
108
  EPDFAnnot_HasAppearanceStream: (arg0: Ptr, arg1: number) => boolean;
@@ -129,7 +130,7 @@ interface PdfFunctions {
129
130
  EPDFAnnot_SetLineEndings: (arg0: Ptr, arg1: number, arg2: number) => boolean;
130
131
  EPDFAnnot_SetLinkedAnnot: (arg0: Ptr, arg1: string, arg2: Ptr) => boolean;
131
132
  EPDFAnnot_SetMKColor: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: number) => boolean;
132
- EPDFAnnot_SetName: (arg0: Ptr, arg1: number) => boolean;
133
+ EPDFAnnot_SetName: (arg0: Ptr, arg1: string) => boolean;
133
134
  EPDFAnnot_SetNumberValue: (arg0: Ptr, arg1: string, arg2: number) => boolean;
134
135
  EPDFAnnot_SetOpacity: (arg0: Ptr, arg1: number) => boolean;
135
136
  EPDFAnnot_SetOverlayText: (arg0: Ptr, arg1: Ptr) => boolean;
@@ -137,6 +138,8 @@ interface PdfFunctions {
137
138
  EPDFAnnot_SetRect: (arg0: Ptr, arg1: Ptr) => boolean;
138
139
  EPDFAnnot_SetRectangleDifferences: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: number) => boolean;
139
140
  EPDFAnnot_SetReplyType: (arg0: Ptr, arg1: number) => boolean;
141
+ EPDFAnnot_SetRichTextJSON: (arg0: Ptr, arg1: string) => boolean;
142
+ EPDFAnnot_SetRichTextXHTML: (arg0: Ptr, arg1: Ptr) => boolean;
140
143
  EPDFAnnot_SetRotate: (arg0: Ptr, arg1: number) => boolean;
141
144
  EPDFAnnot_SetTextAlignment: (arg0: Ptr, arg1: number) => boolean;
142
145
  EPDFAnnot_SetVertices: (arg0: Ptr, arg1: Ptr, arg2: number) => boolean;
@@ -166,12 +169,18 @@ interface PdfFunctions {
166
169
  EPDFDoc_ClearPagePieceInfoKey: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: Ptr) => boolean;
167
170
  EPDFDoc_ClearPieceInfoEntry: (arg0: Ptr, arg1: string) => boolean;
168
171
  EPDFDoc_ClearPieceInfoKey: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr) => boolean;
172
+ EPDFDoc_CompareRevisions: (arg0: Ptr, arg1: Ptr) => Ptr;
169
173
  EPDFDoc_DeletePageByObjectNumber: (arg0: Ptr, arg1: number) => boolean;
170
174
  EPDFDoc_GetAdditionalActionModel: (arg0: Ptr, arg1: number) => Ptr;
171
175
  EPDFDoc_GetAttachmentIndexByKey: (arg0: Ptr, arg1: Ptr) => number;
172
176
  EPDFDoc_GetAttachmentKey: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
177
+ EPDFDoc_GetBaseBytesSize: (arg0: Ptr) => bigint;
178
+ EPDFDoc_GetFontEmbeddingPolicy: (arg0: Ptr) => number;
173
179
  EPDFDoc_GetLastModified: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
180
+ EPDFDoc_GetLoadedBytesSize: (arg0: Ptr) => bigint;
174
181
  EPDFDoc_GetNamedJavaScriptActionModel: (arg0: Ptr, arg1: number) => Ptr;
182
+ EPDFDoc_GetNamedPageAt: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number, arg5: Ptr, arg6: Ptr) => number;
183
+ EPDFDoc_GetNamedPageCount: (arg0: Ptr, arg1: number) => number;
175
184
  EPDFDoc_GetOpenActionDest: (arg0: Ptr) => Ptr;
176
185
  EPDFDoc_GetOpenActionModel: (arg0: Ptr) => Ptr;
177
186
  EPDFDoc_GetPageActionModel: (arg0: Ptr, arg1: number, arg2: number) => Ptr;
@@ -201,10 +210,22 @@ interface PdfFunctions {
201
210
  EPDFDoc_GetPieceInfoStringArrayAt: (arg0: Ptr, arg1: string, arg2: string, arg3: number, arg4: Ptr, arg5: number) => number;
202
211
  EPDFDoc_GetPieceInfoStringArrayCount: (arg0: Ptr, arg1: string, arg2: string) => number;
203
212
  EPDFDoc_GetPieceInfoValueType: (arg0: Ptr, arg1: string, arg2: string) => number;
213
+ EPDFDoc_GetRevision: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr) => boolean;
214
+ EPDFDoc_GetRevisionCount: (arg0: Ptr) => number;
215
+ EPDFDoc_GetStructureObjectNumbers: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
216
+ EPDFDoc_GetTypographicFeatures: (arg0: Ptr) => boolean;
204
217
  EPDFDoc_HasPagePieceInfoEntry: (arg0: Ptr, arg1: number, arg2: string) => boolean;
205
218
  EPDFDoc_HasPieceInfoEntry: (arg0: Ptr, arg1: string) => boolean;
206
219
  EPDFDoc_LoadPageByObjectNumber: (arg0: Ptr, arg1: number) => Ptr;
207
220
  EPDFDoc_LoadPageByObjectNumberNormalized: (arg0: Ptr, arg1: number) => Ptr;
221
+ EPDFDoc_OpenBaseOverlay: (arg0: Ptr, arg1: Ptr, arg2: number) => Ptr;
222
+ EPDFDoc_OpenBaseOverlayFromPath: (arg0: Ptr, arg1: Ptr) => Ptr;
223
+ EPDFDoc_OpenRevision: (arg0: Ptr, arg1: bigint) => Ptr;
224
+ EPDFDoc_ReadLoadedBytes: (arg0: Ptr, arg1: bigint, arg2: Ptr, arg3: number) => number;
225
+ EPDFDoc_RemoveNamedPage: (arg0: Ptr, arg1: Ptr) => boolean;
226
+ EPDFDoc_RemoveNamedPagesForPage: (arg0: Ptr, arg1: number) => number;
227
+ EPDFDoc_SetFontEmbeddingPolicy: (arg0: Ptr, arg1: number) => boolean;
228
+ EPDFDoc_SetNamedPage: (arg0: Ptr, arg1: Ptr, arg2: number) => boolean;
208
229
  EPDFDoc_SetPagePieceInfoBoolean: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: boolean, arg5: Ptr) => boolean;
209
230
  EPDFDoc_SetPagePieceInfoName: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: string, arg5: Ptr) => boolean;
210
231
  EPDFDoc_SetPagePieceInfoNumber: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: number, arg5: Ptr) => boolean;
@@ -216,10 +237,18 @@ interface PdfFunctions {
216
237
  EPDFDoc_SetPieceInfoNumber: (arg0: Ptr, arg1: string, arg2: string, arg3: number, arg4: Ptr) => boolean;
217
238
  EPDFDoc_SetPieceInfoString: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr, arg4: Ptr) => boolean;
218
239
  EPDFDoc_SetPieceInfoStringArray: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr, arg4: number, arg5: Ptr) => boolean;
240
+ EPDFDoc_SetTypographicFeatures: (arg0: Ptr, arg1: boolean) => boolean;
219
241
  EPDFDocument_ClearEmbedMetadata: (arg0: Ptr) => boolean;
220
242
  EPDFFont_AddFallbackFont: (arg0: number) => boolean;
243
+ EPDFFont_AuthorizeEditing: (arg0: number) => boolean;
221
244
  EPDFFont_ClearFallbackFonts: () => void;
222
245
  EPDFFont_ClearRegisteredFonts: () => void;
246
+ EPDFFont_GetEmbeddingPermission: (arg0: number) => number;
247
+ EPDFFont_GetFamilyName: (arg0: number, arg1: Ptr, arg2: number) => number;
248
+ EPDFFont_GetWeight: (arg0: number) => number;
249
+ EPDFFont_IsEditingAuthorized: (arg0: number) => boolean;
250
+ EPDFFont_IsInstanced: (arg0: number) => boolean;
251
+ EPDFFont_IsItalic: (arg0: number) => boolean;
223
252
  EPDFFont_RegisterFont: (arg0: string, arg1: number, arg2: number, arg3: Ptr) => number;
224
253
  EPDFFont_RegisterMemFont: (arg0: string, arg1: number, arg2: number, arg3: Ptr, arg4: number) => number;
225
254
  EPDFFont_RegisterMemFont64: (arg0: string, arg1: number, arg2: number, arg3: Ptr, arg4: number) => number;
@@ -284,19 +313,35 @@ interface PdfFunctions {
284
313
  EPDFImageObj_SetJpeg: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: number) => boolean;
285
314
  EPDFImageObj_SetPng: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: number) => boolean;
286
315
  EPDFLayer_GetBaseDocument: (arg0: Ptr) => Ptr;
316
+ EPDFLayer_GetBaseSha256: (arg0: Ptr, arg1: Ptr) => boolean;
287
317
  EPDFLayer_GetPromotedObjectCount: (arg0: Ptr) => number;
288
318
  EPDFLayer_IsObjectPromoted: (arg0: Ptr, arg1: number) => boolean;
289
319
  EPDFLayer_OpenLayer: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
290
320
  EPDFLayer_OpenLayerArtifact: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
321
+ EPDFLayer_OpenLayerArtifactFromPath: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
291
322
  EPDFLayer_SaveDelta: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
323
+ EPDFLayer_SaveDeltaEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
292
324
  EPDFLayer_SaveDeltaToOwnedBuffer: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => Ptr;
325
+ EPDFLayer_SaveDeltaToOwnedBufferEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => Ptr;
293
326
  EPDFLayer_SaveLayerArtifact: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
327
+ EPDFLayer_SaveLayerArtifactEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
294
328
  EPDFLayer_SaveLayerArtifactToOwnedBuffer: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => Ptr;
329
+ EPDFLayer_SaveLayerArtifactToOwnedBufferEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => Ptr;
295
330
  EPDFNamedDest_Remove: (arg0: Ptr, arg1: string) => boolean;
296
331
  EPDFNamedDest_SetDest: (arg0: Ptr, arg1: string, arg2: Ptr) => boolean;
332
+ EPDFObjectDiff_Close: (arg0: Ptr) => void;
333
+ EPDFObjectDiff_GetCount: (arg0: Ptr) => number;
334
+ EPDFObjectDiff_GetEntry: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr, arg5: Ptr, arg6: Ptr, arg7: Ptr) => boolean;
335
+ EPDFObjectDiff_GetReadStatus: (arg0: Ptr, arg1: number, arg2: number) => number;
336
+ EPDFObjectDiff_GetReferrer: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: Ptr, arg5: Ptr, arg6: number) => number;
337
+ EPDFObjectDiff_GetReferrerCount: (arg0: Ptr, arg1: number, arg2: number) => number;
338
+ EPDFObjectDiff_GetRevisionHealth: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr) => boolean;
339
+ EPDFObjectDiff_GetValue: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number, arg5: Ptr) => number;
297
340
  EPDFPage_ApplyRedactions: (arg0: Ptr, arg1: Ptr) => boolean;
298
341
  EPDFPage_CreateAnnot: (arg0: Ptr, arg1: number) => Ptr;
342
+ EPDFPage_ExportAnnotationsAsDocument: (arg0: Ptr, arg1: Ptr, arg2: number) => Ptr;
299
343
  EPDFPage_Flatten: (arg0: Ptr, arg1: number) => number;
344
+ EPDFPage_FlattenAnnotations: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: number, arg4: Ptr) => number;
300
345
  EPDFPage_GetAnnotByName: (arg0: Ptr, arg1: Ptr) => Ptr;
301
346
  EPDFPage_GetAnnotByObjectNumber: (arg0: Ptr, arg1: number) => Ptr;
302
347
  EPDFPage_GetAnnotCountRaw: (arg0: Ptr, arg1: number) => number;
@@ -307,6 +352,47 @@ interface PdfFunctions {
307
352
  EPDFPage_RemoveAnnotByName: (arg0: Ptr, arg1: Ptr) => boolean;
308
353
  EPDFPage_RemoveAnnotByObjectNumber: (arg0: Ptr, arg1: number) => boolean;
309
354
  EPDFPage_RemoveAnnotRaw: (arg0: Ptr, arg1: number, arg2: number) => boolean;
355
+ EPDFSig_CloseModel: (arg0: Ptr) => void;
356
+ EPDFSig_Count: (arg0: Ptr) => number;
357
+ EPDFSig_DigestByteRange: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: Ptr, arg4: Ptr) => boolean;
358
+ EPDFSig_DigestFileRange: (arg0: Ptr, arg1: Ptr, arg2: number, arg3: Ptr, arg4: Ptr) => boolean;
359
+ EPDFSig_GetByteRange: (arg0: Ptr, arg1: number, arg2: Ptr) => boolean;
360
+ EPDFSig_GetContents: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
361
+ EPDFSig_GetCoverage: (arg0: Ptr, arg1: number) => number;
362
+ EPDFSig_GetDocMDPPermission: (arg0: Ptr, arg1: number) => number;
363
+ EPDFSig_GetFieldMDPAction: (arg0: Ptr, arg1: number) => number;
364
+ EPDFSig_GetFieldName: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
365
+ EPDFSig_GetFieldNameAt: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: Ptr, arg5: number) => number;
366
+ EPDFSig_GetFieldNameCount: (arg0: Ptr, arg1: number, arg2: number) => number;
367
+ EPDFSig_GetFieldObjNum: (arg0: Ptr, arg1: number) => number;
368
+ EPDFSig_GetIndexByFieldObjNum: (arg0: Ptr, arg1: number) => number;
369
+ EPDFSig_GetKind: (arg0: Ptr, arg1: number) => number;
370
+ EPDFSig_GetLockAction: (arg0: Ptr, arg1: number) => number;
371
+ EPDFSig_GetLockPermission: (arg0: Ptr, arg1: number) => number;
372
+ EPDFSig_GetRevisionIndex: (arg0: Ptr, arg1: number) => number;
373
+ EPDFSig_GetSeedValueFilter: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
374
+ EPDFSig_GetSeedValueListAt: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: Ptr, arg5: number) => number;
375
+ EPDFSig_GetSeedValueListCount: (arg0: Ptr, arg1: number, arg2: number) => number;
376
+ EPDFSig_GetSeedValueMDP: (arg0: Ptr, arg1: number) => number;
377
+ EPDFSig_GetSeedValuePresentFlags: (arg0: Ptr, arg1: number) => number;
378
+ EPDFSig_GetSeedValueRequiredFlags: (arg0: Ptr, arg1: number) => number;
379
+ EPDFSig_GetSeedValueVersion: (arg0: Ptr, arg1: number) => number;
380
+ EPDFSig_GetString: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number) => number;
381
+ EPDFSig_GetValueObjNum: (arg0: Ptr, arg1: number) => number;
382
+ EPDFSig_GetWidgetObjNum: (arg0: Ptr, arg1: number) => number;
383
+ EPDFSig_GetWidgetPageObjNum: (arg0: Ptr, arg1: number) => number;
384
+ EPDFSig_HasSeedValue: (arg0: Ptr, arg1: number) => boolean;
385
+ EPDFSig_IsCatalogCertification: (arg0: Ptr, arg1: number) => boolean;
386
+ EPDFSig_IsRevisionChainValid: (arg0: Ptr) => boolean;
387
+ EPDFSig_IsSigned: (arg0: Ptr, arg1: number) => boolean;
388
+ EPDFSig_LoadModel: (arg0: Ptr) => Ptr;
389
+ EPDFSig_Prepare: (arg0: Ptr, arg1: number, arg2: Ptr) => number;
390
+ EPDFSig_SaveCandidate: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr, arg5: Ptr) => boolean;
391
+ EPDFSig_SaveCandidateToOwnedBuffer: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: Ptr) => Ptr;
392
+ EPDFSig_Seal: (arg0: Ptr, arg1: bigint, arg2: bigint, arg3: bigint, arg4: number, arg5: Ptr, arg6: Ptr, arg7: Ptr, arg8: Ptr, arg9: Ptr) => boolean;
393
+ EPDFSig_SealSpan: (arg0: Ptr, arg1: bigint, arg2: bigint, arg3: bigint, arg4: Ptr, arg5: Ptr, arg6: Ptr) => boolean;
394
+ EPDFSig_SetFieldLock: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number, arg5: number) => boolean;
395
+ EPDFSig_WriteContents: (arg0: Ptr, arg1: bigint, arg2: bigint, arg3: bigint, arg4: Ptr, arg5: number) => boolean;
310
396
  EPDFText_GetCharGeometry: (arg0: Ptr, arg1: number, arg2: Ptr) => boolean;
311
397
  EPDFText_GetCharToTextMap: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
312
398
  EPDFText_GetTextFull: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
@@ -806,6 +892,10 @@ interface PdfRuntimeFileAccess {
806
892
  fromMemory(bytes: Uint8Array | ArrayBuffer): PdfFileAccessHandle;
807
893
  /** Native/node only: range-reads a local file without loading it into JS. */
808
894
  fromNodeFile(path: string): PdfFileAccessHandle;
895
+ /** Native/node only: the bytes `[offset, offset + length)` of a local file (short at EOF). */
896
+ readRange(path: string, offset: number, length: number): Uint8Array;
897
+ /** Native/node only: byte length of a local file. */
898
+ sizeOf(path: string): number;
809
899
  }
810
900
  interface PdfFileWriteHandle {
811
901
  /** Pointer to the owned FPDF_FILEWRITE struct. */
@@ -813,9 +903,22 @@ interface PdfFileWriteHandle {
813
903
  /** Flushes/closes the underlying writer and releases native resources. */
814
904
  close(): void;
815
905
  }
906
+ /**
907
+ * Local-file operations the engine services need beyond PDFium's own
908
+ * writers: patching a few bytes in place (sealing a signing candidate),
909
+ * appending (streaming a verbatim copy), and removing a discarded file.
910
+ * Node-only; the wasm runtime throws, exactly as `toNodeFile` does. Kept
911
+ * here so the shared services never import a node module themselves.
912
+ */
816
913
  interface PdfRuntimeFileWrite {
817
914
  /** Native/node only: writes PDFium output directly to a local file. */
818
915
  toNodeFile(path: string): PdfFileWriteHandle;
916
+ /** Native/node only: overwrite `bytes` at `offset` in place (the file must already extend past it). */
917
+ writeRange(path: string, offset: number, bytes: Uint8Array): void;
918
+ /** Native/node only: append `bytes` to a local file, creating it when absent. */
919
+ appendBytes(path: string, bytes: Uint8Array): void;
920
+ /** Native/node only: delete a local file; a missing file is not an error. */
921
+ removeFile(path: string): void;
819
922
  }
820
923
  interface PdfRuntimeModule {
821
924
  readonly kind: 'wasm' | 'native';