Validation Policies and WTPDF
Validation policies add enforceable document requirements to the existing structural preflight engine and preserve the text, JSON, HTML and CSV report formats
Built-in policies
GetBuiltInValidationPolicy recognises default, compact, strict, wtpdf-reuse, wtpdf-accessibility, wtpdf-validated-reuse and wtpdf-validated-accessibility
The WTPDF policies enforce the machine-verifiable core requirements for PDF 2.0, a structure tree, a non-empty document language, XMP metadata with dc:title, embedded fonts and the matching PDF Declaration, whilst accessibility policies also require DisplayDocTitle=true
These checks are a deterministic intake gate for the supported rules and do not replace a complete semantic WTPDF, PDF/UA-2 or ISO/TS 32005 validator
Declaration metadata
ReadWTPDFMetadata extracts reuse, accessibility and validated declaration states plus claimBy, claimDate, claimCredentials and claimReport from Catalog XMP
The reader accepts the current registry URIs and the slash form emitted by the original WTPDF 1.0 examples, but reports the current canonical URI form
Public support types
THPDFWTPDFConformanceLevel picks no WTPDF claim, reuse or accessibility validation, whilst THPDFWTPDFMetadata returns the declarations and claim details found in XMP
THPDFValidationJob and THPDFValidationJobs describe ordered batch inputs, and THPDFValidationJobStatus, THPDFValidationJobResult and THPDFValidationJobResults return ordered validation outcomes
THPDFValidationBatchOptions controls report format, worker and queue limits, fail-fast behaviour and cancellation
THPDFMetadataFixMode picks inspection, additive repair or synchronisation, and THPDFMetadataFixResult reports metadata validity and the number of changed properties
Bounded batch execution
RunValidationBatch validates independent files concurrently with caller-controlled worker and queue limits, preserves source order, supports fail-fast and cancellation and records elapsed time plus source-aware error context for every job
A non-positive worker limit picks the active processor count and a non-positive queue limit picks four jobs per worker
Independent metadata repair
FixPDFMetadata uses mfmInspectOnly, mfmAddMissing or mfmSynchronize independently of structural preflight repair
Add-missing mode preserves existing properties and creates a basic packet when metadata is absent, whilst synchronise mode rewrites the common Dublin Core, PDF and XMP properties from the loaded Info dictionary and preserves unrelated RDF descriptions