THPDFLinearizationValidationInfo Record
Werdykty per część dla zliniaryzowanego źródła: słownik linearizacji, sekcja pierwszej strony, podpowiedzi offsetów stron i podpowiedzi obiektów współdzielonych, plus sparsowane wartości nagłówka i ciąg diagnostyczny
Deklaracja
THPDFLinearizationValidationInfo= record
DictionaryValid: boolean;
FirstPageSectionValid: boolean;
PageOffsetHintsValid: boolean;
SharedObjectHintsValid: boolean;
FirstPageObjectNumber: Integer;
PageCount: Integer;
HintOffset: Int64;
HintLength: Int64;
FirstPageEndOffset: Int64;
MainXRefOffset: Int64;
Valid: boolean;
Diagnostic: AnsiString;
end;
Jednostka
HPDFDoc
Pola
| Pole | Przeznaczenie |
|---|---|
DictionaryValid | true, gdy wpisy słownika /L, /O, /E, /N, /T i /H się parsują, a ich zakresy pozostają spójne z rozmiarem pliku |
FirstPageSectionValid | true, gdy sekcja obiektów pierwszej strony się zgadza, łącznie z zadeklarowanym offsetem końca |
PageOffsetHintsValid | true, gdy strumień podpowiedzi offsetów stron się dekoduje, a jego wartości zgadzają się z dokumentem |
SharedObjectHintsValid | true, gdy strumień podpowiedzi obiektów współdzielonych się dekoduje, a jego wartości zgadzają się z dokumentem |
FirstPageObjectNumber | Numer obiektu sparsowany z wpisu /O słownika |
PageCount | Liczba stron sparsowana z wpisu /N słownika |
HintOffset / HintLength | Zakres bajtów głównego strumienia podpowiedzi z wpisu /H słownika |
FirstPageEndOffset | Offset końca sekcji pierwszej strony z wpisu /E słownika |
MainXRefOffset | Offset głównej tabeli odniesień krzyżowych z wpisu /T słownika |
Valid | Werdykt ogólny, true tylko gdy każde sprawdzenie częściowe przeszło; odzwierciedla wynik funkcji |
Diagnostic | Tekst przyczyny fail-closed nazywający pierwsze sprawdzenie, które zawiodło |
Uwagi dotyczące użycia
- Wypełniany przez
THotPDF.ValidateLinearizedSourcedla dowolnegoTHPDFRandomAccessSource; walidacja zatrzymuje się na pierwszej zawodzącej części i zapisuje przyczynę wDiagnostic - Użyj flag per część, aby oddzielić uszkodzony strumień podpowiedzi od uszkodzonego słownika, zanim zdecydujesz, czy wczytywanie postępujące jest bezpieczne
- Sparsowane wartości nagłówka są zapełniane od razu, gdy sprawdzenia słownika przejdą, nawet jeśli późniejsze sprawdzenia podpowiedzi zawiodą