THPDFFDFPackage
This caller-owned in-memory package class is declared in HPDFFDFPackage; construct it from FDF bytes and THPDFFDFPackageOptions, then free it after use
| Member | Behavior |
|---|---|
EntryCount | Counts embedded file entries |
Describe(Index, FileKey) | Returns the selected key, raw file-name bytes, embedded-stream presence, encryption revision and encoded size |
ExtractStored(Index, FileKey) | Returns the selected stream's stored bytes |
Extract(Index, FileKey, Mode, Password) | Decodes filters and the explicitly selected supported encryption mode into child bytes |
DecodeChild(Index, FileKey, Mode, Password) | Returns a separately owned child package sharing the session budget |
Add(FileKey, FileName, ChildBytes, Mode, Password) | Adds an embedded child and returns its new entry index |
Replace(Index, FileKey, ChildBytes, Mode, Password) | Replaces the explicitly selected child after validating a candidate graph |
Encode | Serializes the current in-memory package |
ResourceBudget | Exposes the borrowed cumulative session admission budget |
Entry indices are zero-based; a file key must explicitly select F, UF, DOS, Mac or Unix, and the declared mode must match encryption metadata
Children share cumulative byte, node, object, operation, working-storage and depth allowances even after the parent is freed; freeing objects does not reset the session's prior charges
Add and Replace validate the candidate before changing the package graph; failed mutations preserve the original package, while their incurred budget charges remain consumed
The API never opens a file-name value as a path, follows external references, executes actions or applies a PDF document revision
EHPDFFDFPackageError reports malformed package or mode data, EHPDFFDFLimitError reports exceeded allowances, and document cancellation remains cooperative
DecodeDifferences returns the decoded Differences stream for the FDF Differences transport