@embedpdf/engine-runtime 3.0.0-next.12 → 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;
@@ -99,6 +102,7 @@ interface PdfFunctions {
99
102
  EPDFAnnot_GetRectangleDifferences: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr, arg4: Ptr) => boolean;
100
103
  EPDFAnnot_GetReplyType: (arg0: Ptr) => number;
101
104
  EPDFAnnot_GetRichContent: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
105
+ EPDFAnnot_GetRichTextJSON: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
102
106
  EPDFAnnot_GetRotate: (arg0: Ptr, arg1: Ptr) => boolean;
103
107
  EPDFAnnot_GetTextAlignment: (arg0: Ptr) => number;
104
108
  EPDFAnnot_HasAppearanceStream: (arg0: Ptr, arg1: number) => boolean;
@@ -134,6 +138,8 @@ interface PdfFunctions {
134
138
  EPDFAnnot_SetRect: (arg0: Ptr, arg1: Ptr) => boolean;
135
139
  EPDFAnnot_SetRectangleDifferences: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: number) => boolean;
136
140
  EPDFAnnot_SetReplyType: (arg0: Ptr, arg1: number) => boolean;
141
+ EPDFAnnot_SetRichTextJSON: (arg0: Ptr, arg1: string) => boolean;
142
+ EPDFAnnot_SetRichTextXHTML: (arg0: Ptr, arg1: Ptr) => boolean;
137
143
  EPDFAnnot_SetRotate: (arg0: Ptr, arg1: number) => boolean;
138
144
  EPDFAnnot_SetTextAlignment: (arg0: Ptr, arg1: number) => boolean;
139
145
  EPDFAnnot_SetVertices: (arg0: Ptr, arg1: Ptr, arg2: number) => boolean;
@@ -163,11 +169,15 @@ interface PdfFunctions {
163
169
  EPDFDoc_ClearPagePieceInfoKey: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: Ptr) => boolean;
164
170
  EPDFDoc_ClearPieceInfoEntry: (arg0: Ptr, arg1: string) => boolean;
165
171
  EPDFDoc_ClearPieceInfoKey: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr) => boolean;
172
+ EPDFDoc_CompareRevisions: (arg0: Ptr, arg1: Ptr) => Ptr;
166
173
  EPDFDoc_DeletePageByObjectNumber: (arg0: Ptr, arg1: number) => boolean;
167
174
  EPDFDoc_GetAdditionalActionModel: (arg0: Ptr, arg1: number) => Ptr;
168
175
  EPDFDoc_GetAttachmentIndexByKey: (arg0: Ptr, arg1: Ptr) => number;
169
176
  EPDFDoc_GetAttachmentKey: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
177
+ EPDFDoc_GetBaseBytesSize: (arg0: Ptr) => bigint;
178
+ EPDFDoc_GetFontEmbeddingPolicy: (arg0: Ptr) => number;
170
179
  EPDFDoc_GetLastModified: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
180
+ EPDFDoc_GetLoadedBytesSize: (arg0: Ptr) => bigint;
171
181
  EPDFDoc_GetNamedJavaScriptActionModel: (arg0: Ptr, arg1: number) => Ptr;
172
182
  EPDFDoc_GetNamedPageAt: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number, arg5: Ptr, arg6: Ptr) => number;
173
183
  EPDFDoc_GetNamedPageCount: (arg0: Ptr, arg1: number) => number;
@@ -200,12 +210,21 @@ interface PdfFunctions {
200
210
  EPDFDoc_GetPieceInfoStringArrayAt: (arg0: Ptr, arg1: string, arg2: string, arg3: number, arg4: Ptr, arg5: number) => number;
201
211
  EPDFDoc_GetPieceInfoStringArrayCount: (arg0: Ptr, arg1: string, arg2: string) => number;
202
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;
203
217
  EPDFDoc_HasPagePieceInfoEntry: (arg0: Ptr, arg1: number, arg2: string) => boolean;
204
218
  EPDFDoc_HasPieceInfoEntry: (arg0: Ptr, arg1: string) => boolean;
205
219
  EPDFDoc_LoadPageByObjectNumber: (arg0: Ptr, arg1: number) => Ptr;
206
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;
207
225
  EPDFDoc_RemoveNamedPage: (arg0: Ptr, arg1: Ptr) => boolean;
208
226
  EPDFDoc_RemoveNamedPagesForPage: (arg0: Ptr, arg1: number) => number;
227
+ EPDFDoc_SetFontEmbeddingPolicy: (arg0: Ptr, arg1: number) => boolean;
209
228
  EPDFDoc_SetNamedPage: (arg0: Ptr, arg1: Ptr, arg2: number) => boolean;
210
229
  EPDFDoc_SetPagePieceInfoBoolean: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: boolean, arg5: Ptr) => boolean;
211
230
  EPDFDoc_SetPagePieceInfoName: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: string, arg5: Ptr) => boolean;
@@ -218,10 +237,18 @@ interface PdfFunctions {
218
237
  EPDFDoc_SetPieceInfoNumber: (arg0: Ptr, arg1: string, arg2: string, arg3: number, arg4: Ptr) => boolean;
219
238
  EPDFDoc_SetPieceInfoString: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr, arg4: Ptr) => boolean;
220
239
  EPDFDoc_SetPieceInfoStringArray: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr, arg4: number, arg5: Ptr) => boolean;
240
+ EPDFDoc_SetTypographicFeatures: (arg0: Ptr, arg1: boolean) => boolean;
221
241
  EPDFDocument_ClearEmbedMetadata: (arg0: Ptr) => boolean;
222
242
  EPDFFont_AddFallbackFont: (arg0: number) => boolean;
243
+ EPDFFont_AuthorizeEditing: (arg0: number) => boolean;
223
244
  EPDFFont_ClearFallbackFonts: () => void;
224
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;
225
252
  EPDFFont_RegisterFont: (arg0: string, arg1: number, arg2: number, arg3: Ptr) => number;
226
253
  EPDFFont_RegisterMemFont: (arg0: string, arg1: number, arg2: number, arg3: Ptr, arg4: number) => number;
227
254
  EPDFFont_RegisterMemFont64: (arg0: string, arg1: number, arg2: number, arg3: Ptr, arg4: number) => number;
@@ -286,16 +313,30 @@ interface PdfFunctions {
286
313
  EPDFImageObj_SetJpeg: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: number) => boolean;
287
314
  EPDFImageObj_SetPng: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: number) => boolean;
288
315
  EPDFLayer_GetBaseDocument: (arg0: Ptr) => Ptr;
316
+ EPDFLayer_GetBaseSha256: (arg0: Ptr, arg1: Ptr) => boolean;
289
317
  EPDFLayer_GetPromotedObjectCount: (arg0: Ptr) => number;
290
318
  EPDFLayer_IsObjectPromoted: (arg0: Ptr, arg1: number) => boolean;
291
319
  EPDFLayer_OpenLayer: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
292
320
  EPDFLayer_OpenLayerArtifact: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
321
+ EPDFLayer_OpenLayerArtifactFromPath: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
293
322
  EPDFLayer_SaveDelta: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
323
+ EPDFLayer_SaveDeltaEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
294
324
  EPDFLayer_SaveDeltaToOwnedBuffer: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => Ptr;
325
+ EPDFLayer_SaveDeltaToOwnedBufferEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => Ptr;
295
326
  EPDFLayer_SaveLayerArtifact: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
327
+ EPDFLayer_SaveLayerArtifactEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
296
328
  EPDFLayer_SaveLayerArtifactToOwnedBuffer: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => Ptr;
329
+ EPDFLayer_SaveLayerArtifactToOwnedBufferEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => Ptr;
297
330
  EPDFNamedDest_Remove: (arg0: Ptr, arg1: string) => boolean;
298
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;
299
340
  EPDFPage_ApplyRedactions: (arg0: Ptr, arg1: Ptr) => boolean;
300
341
  EPDFPage_CreateAnnot: (arg0: Ptr, arg1: number) => Ptr;
301
342
  EPDFPage_ExportAnnotationsAsDocument: (arg0: Ptr, arg1: Ptr, arg2: number) => Ptr;
@@ -311,6 +352,47 @@ interface PdfFunctions {
311
352
  EPDFPage_RemoveAnnotByName: (arg0: Ptr, arg1: Ptr) => boolean;
312
353
  EPDFPage_RemoveAnnotByObjectNumber: (arg0: Ptr, arg1: number) => boolean;
313
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;
314
396
  EPDFText_GetCharGeometry: (arg0: Ptr, arg1: number, arg2: Ptr) => boolean;
315
397
  EPDFText_GetCharToTextMap: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
316
398
  EPDFText_GetTextFull: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
@@ -810,6 +892,10 @@ interface PdfRuntimeFileAccess {
810
892
  fromMemory(bytes: Uint8Array | ArrayBuffer): PdfFileAccessHandle;
811
893
  /** Native/node only: range-reads a local file without loading it into JS. */
812
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;
813
899
  }
814
900
  interface PdfFileWriteHandle {
815
901
  /** Pointer to the owned FPDF_FILEWRITE struct. */
@@ -817,9 +903,22 @@ interface PdfFileWriteHandle {
817
903
  /** Flushes/closes the underlying writer and releases native resources. */
818
904
  close(): void;
819
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
+ */
820
913
  interface PdfRuntimeFileWrite {
821
914
  /** Native/node only: writes PDFium output directly to a local file. */
822
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;
823
922
  }
824
923
  interface PdfRuntimeModule {
825
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;
@@ -99,6 +102,7 @@ interface PdfFunctions {
99
102
  EPDFAnnot_GetRectangleDifferences: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr, arg4: Ptr) => boolean;
100
103
  EPDFAnnot_GetReplyType: (arg0: Ptr) => number;
101
104
  EPDFAnnot_GetRichContent: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
105
+ EPDFAnnot_GetRichTextJSON: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
102
106
  EPDFAnnot_GetRotate: (arg0: Ptr, arg1: Ptr) => boolean;
103
107
  EPDFAnnot_GetTextAlignment: (arg0: Ptr) => number;
104
108
  EPDFAnnot_HasAppearanceStream: (arg0: Ptr, arg1: number) => boolean;
@@ -134,6 +138,8 @@ interface PdfFunctions {
134
138
  EPDFAnnot_SetRect: (arg0: Ptr, arg1: Ptr) => boolean;
135
139
  EPDFAnnot_SetRectangleDifferences: (arg0: Ptr, arg1: number, arg2: number, arg3: number, arg4: number) => boolean;
136
140
  EPDFAnnot_SetReplyType: (arg0: Ptr, arg1: number) => boolean;
141
+ EPDFAnnot_SetRichTextJSON: (arg0: Ptr, arg1: string) => boolean;
142
+ EPDFAnnot_SetRichTextXHTML: (arg0: Ptr, arg1: Ptr) => boolean;
137
143
  EPDFAnnot_SetRotate: (arg0: Ptr, arg1: number) => boolean;
138
144
  EPDFAnnot_SetTextAlignment: (arg0: Ptr, arg1: number) => boolean;
139
145
  EPDFAnnot_SetVertices: (arg0: Ptr, arg1: Ptr, arg2: number) => boolean;
@@ -163,11 +169,15 @@ interface PdfFunctions {
163
169
  EPDFDoc_ClearPagePieceInfoKey: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: Ptr) => boolean;
164
170
  EPDFDoc_ClearPieceInfoEntry: (arg0: Ptr, arg1: string) => boolean;
165
171
  EPDFDoc_ClearPieceInfoKey: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr) => boolean;
172
+ EPDFDoc_CompareRevisions: (arg0: Ptr, arg1: Ptr) => Ptr;
166
173
  EPDFDoc_DeletePageByObjectNumber: (arg0: Ptr, arg1: number) => boolean;
167
174
  EPDFDoc_GetAdditionalActionModel: (arg0: Ptr, arg1: number) => Ptr;
168
175
  EPDFDoc_GetAttachmentIndexByKey: (arg0: Ptr, arg1: Ptr) => number;
169
176
  EPDFDoc_GetAttachmentKey: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: number) => number;
177
+ EPDFDoc_GetBaseBytesSize: (arg0: Ptr) => bigint;
178
+ EPDFDoc_GetFontEmbeddingPolicy: (arg0: Ptr) => number;
170
179
  EPDFDoc_GetLastModified: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
180
+ EPDFDoc_GetLoadedBytesSize: (arg0: Ptr) => bigint;
171
181
  EPDFDoc_GetNamedJavaScriptActionModel: (arg0: Ptr, arg1: number) => Ptr;
172
182
  EPDFDoc_GetNamedPageAt: (arg0: Ptr, arg1: number, arg2: number, arg3: Ptr, arg4: number, arg5: Ptr, arg6: Ptr) => number;
173
183
  EPDFDoc_GetNamedPageCount: (arg0: Ptr, arg1: number) => number;
@@ -200,12 +210,21 @@ interface PdfFunctions {
200
210
  EPDFDoc_GetPieceInfoStringArrayAt: (arg0: Ptr, arg1: string, arg2: string, arg3: number, arg4: Ptr, arg5: number) => number;
201
211
  EPDFDoc_GetPieceInfoStringArrayCount: (arg0: Ptr, arg1: string, arg2: string) => number;
202
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;
203
217
  EPDFDoc_HasPagePieceInfoEntry: (arg0: Ptr, arg1: number, arg2: string) => boolean;
204
218
  EPDFDoc_HasPieceInfoEntry: (arg0: Ptr, arg1: string) => boolean;
205
219
  EPDFDoc_LoadPageByObjectNumber: (arg0: Ptr, arg1: number) => Ptr;
206
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;
207
225
  EPDFDoc_RemoveNamedPage: (arg0: Ptr, arg1: Ptr) => boolean;
208
226
  EPDFDoc_RemoveNamedPagesForPage: (arg0: Ptr, arg1: number) => number;
227
+ EPDFDoc_SetFontEmbeddingPolicy: (arg0: Ptr, arg1: number) => boolean;
209
228
  EPDFDoc_SetNamedPage: (arg0: Ptr, arg1: Ptr, arg2: number) => boolean;
210
229
  EPDFDoc_SetPagePieceInfoBoolean: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: boolean, arg5: Ptr) => boolean;
211
230
  EPDFDoc_SetPagePieceInfoName: (arg0: Ptr, arg1: number, arg2: string, arg3: string, arg4: string, arg5: Ptr) => boolean;
@@ -218,10 +237,18 @@ interface PdfFunctions {
218
237
  EPDFDoc_SetPieceInfoNumber: (arg0: Ptr, arg1: string, arg2: string, arg3: number, arg4: Ptr) => boolean;
219
238
  EPDFDoc_SetPieceInfoString: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr, arg4: Ptr) => boolean;
220
239
  EPDFDoc_SetPieceInfoStringArray: (arg0: Ptr, arg1: string, arg2: string, arg3: Ptr, arg4: number, arg5: Ptr) => boolean;
240
+ EPDFDoc_SetTypographicFeatures: (arg0: Ptr, arg1: boolean) => boolean;
221
241
  EPDFDocument_ClearEmbedMetadata: (arg0: Ptr) => boolean;
222
242
  EPDFFont_AddFallbackFont: (arg0: number) => boolean;
243
+ EPDFFont_AuthorizeEditing: (arg0: number) => boolean;
223
244
  EPDFFont_ClearFallbackFonts: () => void;
224
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;
225
252
  EPDFFont_RegisterFont: (arg0: string, arg1: number, arg2: number, arg3: Ptr) => number;
226
253
  EPDFFont_RegisterMemFont: (arg0: string, arg1: number, arg2: number, arg3: Ptr, arg4: number) => number;
227
254
  EPDFFont_RegisterMemFont64: (arg0: string, arg1: number, arg2: number, arg3: Ptr, arg4: number) => number;
@@ -286,16 +313,30 @@ interface PdfFunctions {
286
313
  EPDFImageObj_SetJpeg: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: number) => boolean;
287
314
  EPDFImageObj_SetPng: (arg0: Ptr, arg1: number, arg2: Ptr, arg3: Ptr, arg4: number) => boolean;
288
315
  EPDFLayer_GetBaseDocument: (arg0: Ptr) => Ptr;
316
+ EPDFLayer_GetBaseSha256: (arg0: Ptr, arg1: Ptr) => boolean;
289
317
  EPDFLayer_GetPromotedObjectCount: (arg0: Ptr) => number;
290
318
  EPDFLayer_IsObjectPromoted: (arg0: Ptr, arg1: number) => boolean;
291
319
  EPDFLayer_OpenLayer: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
292
320
  EPDFLayer_OpenLayerArtifact: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
321
+ EPDFLayer_OpenLayerArtifactFromPath: (arg0: Ptr, arg1: Ptr, arg2: string, arg3: Ptr) => Ptr;
293
322
  EPDFLayer_SaveDelta: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
323
+ EPDFLayer_SaveDeltaEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
294
324
  EPDFLayer_SaveDeltaToOwnedBuffer: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => Ptr;
325
+ EPDFLayer_SaveDeltaToOwnedBufferEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => Ptr;
295
326
  EPDFLayer_SaveLayerArtifact: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => boolean;
327
+ EPDFLayer_SaveLayerArtifactEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => boolean;
296
328
  EPDFLayer_SaveLayerArtifactToOwnedBuffer: (arg0: Ptr, arg1: Ptr, arg2: Ptr) => Ptr;
329
+ EPDFLayer_SaveLayerArtifactToOwnedBufferEx: (arg0: Ptr, arg1: Ptr, arg2: Ptr, arg3: Ptr) => Ptr;
297
330
  EPDFNamedDest_Remove: (arg0: Ptr, arg1: string) => boolean;
298
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;
299
340
  EPDFPage_ApplyRedactions: (arg0: Ptr, arg1: Ptr) => boolean;
300
341
  EPDFPage_CreateAnnot: (arg0: Ptr, arg1: number) => Ptr;
301
342
  EPDFPage_ExportAnnotationsAsDocument: (arg0: Ptr, arg1: Ptr, arg2: number) => Ptr;
@@ -311,6 +352,47 @@ interface PdfFunctions {
311
352
  EPDFPage_RemoveAnnotByName: (arg0: Ptr, arg1: Ptr) => boolean;
312
353
  EPDFPage_RemoveAnnotByObjectNumber: (arg0: Ptr, arg1: number) => boolean;
313
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;
314
396
  EPDFText_GetCharGeometry: (arg0: Ptr, arg1: number, arg2: Ptr) => boolean;
315
397
  EPDFText_GetCharToTextMap: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
316
398
  EPDFText_GetTextFull: (arg0: Ptr, arg1: Ptr, arg2: number) => number;
@@ -810,6 +892,10 @@ interface PdfRuntimeFileAccess {
810
892
  fromMemory(bytes: Uint8Array | ArrayBuffer): PdfFileAccessHandle;
811
893
  /** Native/node only: range-reads a local file without loading it into JS. */
812
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;
813
899
  }
814
900
  interface PdfFileWriteHandle {
815
901
  /** Pointer to the owned FPDF_FILEWRITE struct. */
@@ -817,9 +903,22 @@ interface PdfFileWriteHandle {
817
903
  /** Flushes/closes the underlying writer and releases native resources. */
818
904
  close(): void;
819
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
+ */
820
913
  interface PdfRuntimeFileWrite {
821
914
  /** Native/node only: writes PDFium output directly to a local file. */
822
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;
823
922
  }
824
923
  interface PdfRuntimeModule {
825
924
  readonly kind: 'wasm' | 'native';