function ValidatePagePlan(const Plan: TPdfPagePlan; ImportedSource: TPdf = nil; AllowSignedDocument: Boolean = False): TPdfPagePlanValidationReport;
Compiles a delete, move, insert, split or merge plan into an exact one-based old-to-new page map without changing the target or source document
Use TPdfPagePlan.DeletePages, MovePages, InsertPages or InsertSourcePages to build a plan from zero-based page indices; a plan carries Operation, PageIndices, DestinationIndex and InsertedPageCount
NewPageNumbers contains the new one-based page number for every original page and 0 for a deleted page
The report exposes Valid, Decision, ErrorMessage, Operation, OriginalPageCount, ResultPageCount, DeletedPageCount, MovedPageCount, InsertedPageCount, FirstChangedPageNumber and Impacts
It counts bookmarks (BookmarkCount, AffectedBookmarkCount, DanglingBookmarkCount), named destinations (NamedDestinationCount, AffectedNamedDestinationCount, DanglingNamedDestinationCount), page labels (PageLabelCount, AffectedPageLabelCount), form fields (FormFieldCount, AffectedFormFieldCount) and tagged pages (TaggedPageCount, AffectedTaggedPageCount), plus imported-feature counters ImportedBookmarkCount, ImportedNamedDestinationCount, ImportedPageLabelCount, ImportedFormFieldCount, ImportedTaggedPageCount, ImportedSignatureCount, and ImportedFeaturesUnknown, and returns ppdAllow, ppdReview or ppdReject
A plan is rejected when indices are invalid, navigation targets would become dangling, or signed content would change without AllowSignedDocument
An insert without an active source inventory is marked with ppiImportedFeaturesUnknown and requires review