THotPDF.ValidatePDFUA2Structure Method
Kör avgränsad PDF/UA-2-strukturvalidering över en producerad eller inläst objektgraf och returnerar stabil, strukturerad diagnostik utan att ändra dokumentet
Deklaration
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Issues: THPDFUA2ValidationIssues): boolean; overload;
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Findings: THPDFComplianceFindings): boolean; overload;
Enhet
HPDFDoc
Valideringsalternativ
Använd THPDFUA2ValidationOptions.Default för strikt genereringsvalidering, eller ställ in enskilda semantiska policys för diagnostik vid inmatning
| Fält | Syfte |
|---|---|
HeadingPolicy | Ignorerar, diagnostiserar eller avvisar överhoppade rubriknivåer |
AllowDocumentFragmentHeadingStarts | Nollställer rubrikkontexten inuti DocumentFragment |
CheckDocumentSemantics | Kontrollerar Catalog-språk, metadata, visad titel, optional content och inbäddade filer |
CheckHumanReadableStrings | Avvisar Unicode-tecken ur privat zon i mänskligt läsbara strängar |
CheckAnnotationSemantics | Kontrollerar sidans tabbordning, annoteringsägande, roller, flaggor, beskrivningar och appearance-strömmar |
CheckFormSemantics | Kontrollerar AcroForm-fält, widgets, etiketter, actions, alternativ och rich-värden |
CheckNavigationSemantics | Kontrollerar strukturdestinationer, outlines och nästlade nummerträd för sidetiketter |
RequireListLabels | Kräver en Lbl för varje numrerat listobjekt |
RequireExplicitTableHeaderAssociations | Rapporterar dataceller som bara förlitar sig på scope-inferens |
CheckListSemantics | Kontrollerar numrering, fortsättningskedjor, rubriker, etiketter, listkroppar och placering av direkt verkligt innehåll |
CheckTableSemantics | Kontrollerar avgränsad rutnätsgeometri, radgrupper, spans, scopes och tabelllokala rubrikassociationer |
CheckRubyWarichuSequences | Kontrollerar de exakta sekvenserna av direkta barn som Ruby och Warichu kräver |
CheckPronunciationHints | Kontrollerar uttalsposttyper och indirekt inbäddade PLS-lexikon |
RequireStructureAssociatedFiles | Kräver att varje associated file i Catalog kan nås från strukturen |
RequireFormulaTextAlternative | Kräver Alt, ActualText eller kopplad MathML för formler |
MaxObjects | Begränsar skanning av indirekta objekt, standard 1 000 000 objekt |
MaxIssues | Begränsar antalet sparade diagnostikposter, standard 256 |
Returvärde
Returnerar True bara när ingen uisError-diagnostik återstår
Diagnostik
THPDFUA2IssueSeverity skiljer varningar från fel, och varje THPDFUA2ValidationIssue bär en stabil namnrymdskod, tillämplig klausul, objektsökväg, objektnummer, nollbaserat sidindex när det är känt och ett mänskligt läsbart meddelande i arrayen THPDFUA2ValidationIssues
- Valideringen skapar aldrig ett saknat
StructTreeRooteller en saknad namnrymdsordlista - Namnrymdsmedvetna rollmappningar löses transitivt med cykel- och djupdetektering
- Dokumentmetadata, mänskligt läsbara strängar, optional content, strukturelement, bakåtlänkar till föräldrar, attribut, annoteringar, formulär, navigering, associerade filer, rubriker, listor, tabeller, Ruby, Warichu, uttalstips, formler och MathML kontrolleras i ett enda avgränsat varv
- Äganderskap för inlästa annoteringar löses från det fysiska ParentTree och stödjer skalära eller arraybaserade
K-poster utan att förlita sig på producenttillstånd - Lokal navigering kräver strukturdestinationer, använder
SDföre en kompatibelD-reserv och validerar nästlade nummerträd för sidetiketter - XMP-egenskaper löses via namnrymds-URI så att giltiga alternativa prefix förblir interoperabla
- Tabeldiagnoser skiljer på ogiltiga spans, cellöverlapp, oregelbundna rader och radgrupper, ID:n över tabeller, dubbla eller cykliska rubrikreferenser samt saknade algoritmiska associationer
- Listdiagnostik skiljer på ogiltig numrering, oinslutet innehåll, etikett- och kroppsstruktur, ordnade fortsättningsreferenser på samma nivå samt fortsättningscykler
- Expanderad tabellgeometri delar
MaxObjects-gränsen och failar stängt medua2.table.limit.cells ua2.limit.objectsfailar stängt innan en överdimensionerad graf skannas
Maskinläsbara fynd
THPDFComplianceFindings-overloaden mappar samma avgränsade valideringsvarv in i den gemensamma efterlevnadsmodellen, utan att ändra valideringsordningen eller mutera grafen
Varje fynd identifierar PDF/UA-2, allvarlighetsgrad, regel-ID, normklausul, sökväg, objektnummer, sidindex, meddelande och repareringsläget crsNotAttempted