THotPDF.ValidatePDFUA2Structure Method
Uruchamia ograniczoną walidację struktury PDF/UA-2 na grafie obiektów producenta albo wczytanym i zwraca stabilną, ustrukturyzowaną diagnostykę, nie modyfikując dokumentu
Deklaracja
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Issues: THPDFUA2ValidationIssues): boolean; overload;
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Findings: THPDFComplianceFindings): boolean; overload;
Jednostka
HPDFDoc
Opcje walidacji
Użyj THPDFUA2ValidationOptions.Default dla ścisłej walidacji generowania albo dostosuj poszczególne polityki semantyczne pod diagnostykę przyjmowanych dokumentów
| Pole | Przeznaczenie |
|---|---|
HeadingPolicy | Ignoruje, diagnozuje albo odrzuca pominięte poziomy nagłówków |
AllowDocumentFragmentHeadingStarts | Resetuje kontekst nagłówków wewnątrz DocumentFragment |
CheckDocumentSemantics | Sprawdza język katalogu, metadane, wyświetlany tytuł, zawartość opcjonalną i pliki osadzone |
CheckHumanReadableStrings | Odrzuca znaki prywatne Unicode w ciągach czytelnych dla człowieka |
CheckAnnotationSemantics | Sprawdza kolejność tabulacji strony, przynależność adnotacji, role, flagi, opisy i strumienie wyglądu |
CheckFormSemantics | Sprawdza pola AcroForm, widgety, etykiety, akcje, opcje i wartości sformatowane |
CheckNavigationSemantics | Sprawdza destynacje struktury, konspekty i zagnieżdżone drzewa numeryczne etykiet stron |
RequireListLabels | Wymaga jednego Lbl dla każdego numerowanego elementu listy |
RequireExplicitTableHeaderAssociations | Raportuje komórki danych zależne wyłącznie od wnioskowania zakresu |
CheckListSemantics | Sprawdza numerację, łańcuchy kontynuacji, podpisy, etykiety, treści list i rozmieszczenie bezpośredniej realnej treści |
CheckTableSemantics | Sprawdza ograniczoną geometrię siatki, grupy wierszy, rozpiętości, zakresy i powiązania nagłówków w obrębie tabeli |
CheckRubyWarichuSequences | Sprawdza dokładne sekwencje bezpośrednich dzieci wymagane dla Ruby i Warichu |
CheckPronunciationHints | Sprawdza typy wpisów wymowy i pośrednie osadzone leksykony PLS |
RequireStructureAssociatedFiles | Wymaga, aby każdy plik powiązany katalogu był osiągalny ze struktury |
RequireFormulaTextAlternative | Wymaga Alt, ActualText albo powiązanego MathML dla formuł |
MaxObjects | Ogranicza skanowanie obiektów pośrednich, domyślnie 1,000,000 obiektów |
MaxIssues | Ogranicza zapamiętywaną diagnostykę, domyślnie 256 problemów |
Wartość zwracana
Zwraca True tylko wtedy, gdy nie pozostaje żadna diagnostyka uisError
Diagnostyka
THPDFUA2IssueSeverity rozróżnia ostrzeżenia i błędy, a każdy THPDFUA2ValidationIssue niesie stabilny kod z przestrzenią nazw, dotyczącą klauzulę, ścieżkę obiektu, numer obiektu, indeks strony od zera (gdy jest znany) oraz komunikat czytelny dla człowieka w tablicy THPDFUA2ValidationIssues
- Walidacja nigdy nie tworzy brakującego
StructTreeRootani słownika przestrzeni nazw - Mapy ról z obsługą przestrzeni nazw są rozwiązywane przechodnio, z wykrywaniem cykli i głębokości
- Metadane dokumentu, ciągi czytelne dla człowieka, zawartość opcjonalna, elementy struktury, backlinki do rodziców, atrybuty, adnotacje, formularze, nawigacja, pliki powiązane, nagłówki, listy, tabele, Ruby, Warichu, wskazówki wymowy, formuły i MathML są sprawdzane w jednym ograniczonym przejściu
- Przynależność adnotacji wczytanego dokumentu jest rozwiązywana z fizycznego ParentTree i obsługuje skalarne albo tablicowe wpisy
K, bez polegania na stanie producenta - Nawigacja lokalna wymaga destynacji struktury, stosuje
SDprzed zgodnym fallbackiem naDi waliduje zagnieżdżone drzewa numeryczne etykiet stron - Właściwości XMP są rozwiązywane po URI przestrzeni nazw, więc poprawne alternatywne prefiksy pozostają interoperacyjne
- Diagnostyka tabel rozróżnia niepoprawne rozpiętości, przecięcia komórek, nieregularne wiersze i grupy wierszy, identyfikatory między tabelami, zduplikowane albo cykliczne referencje nagłówków i brakujące powiązania algorytmiczne
- Diagnostyka list rozróżnia niepoprawną numerację, nieopakowaną treść, strukturę etykiet i treści, uporządkowane referencje kontynuacji na tym samym poziomie i cykle kontynuacji
- Rozwinięta geometria tabeli dzieli limit
MaxObjectsi działa w trybie fail closed z kodemua2.table.limit.cells ua2.limit.objectsdziała w trybie fail closed, zanim zostanie przeskanowany zbyt duży graf
Ustalenia czytelne maszynowo
Przeciążenie z THPDFComplianceFindings mapuje to samo ograniczone przejście walidacji do wspólnego modelu zgodności, bez zmiany kolejności walidacji i bez modyfikacji grafu
Każde ustalenie identyfikuje PDF/UA-2, ważność, identyfikator reguły, klauzulę standardu, ścieżkę, numer obiektu, indeks strony, komunikat i stan naprawy crsNotAttempted