Automatska PDF/UA struktura iz stabala rasporeda
THPDFDOMRenderer može pretvoriti vizualno stablo rasporeda u podudarno stablo logičke strukture bez ručnog dodjeljivanja MCID-ova
THPDFDOMDocument.GenerateStructure standardno vraća True, omogućava označeni PDF izlaz, stvara jedan korijen Document i jedan Sect po sekciji te koristi THPDFDOMDocument.Language kada cilj nemа jezik dokumenta
Semantičke zadane vrijednosti i nadjačavanja
| Sadržaj rasporeda | Generirana struktura |
|---|---|
THPDFDOMText | P ili H1 do H6 kada je dodijeljeno HeadingLevel |
THPDFDOMStack i THPDFDOMContainer | Div |
THPDFDOMList | L s LI, Lbl i LBody potomcima plus ListNumbering |
THPDFDOMTable | Table, TR, TH i TD s opsegom stupca na ćelijama zaglavlja |
THPDFDOMImage | Figure s alternativnim tekstom |
| Zaglavlja, podnožja, ponovljena zaglavlja tablica, razdjelnici i dekorativni okviri | Artifact označeni sadržaj |
Svaka komponenta također izlaže SemanticRole, SemanticLanguage, AlternativeText, ActualText, ExpansionText i Artifact za eksplicitno upravljanje
Primjer pristupačnog dokumenta
Document.Language := 'en-US';
Section := Document.AddSection;
Section.Header := THPDFDOMText.Create('Quarterly report');
Section.Body.AddHeading('Results', 1, 'Title');
List := THPDFDOMList.Create('Decimal', 'Steps');
List.AddItem('1.', 'Review the totals');
Section.Body.Add(List);
Table := THPDFDOMTable.Create('Summary');
Table.AddColumn;
Table.AddColumn;
Header := Table.AddRow(18, True);
Header[0].Text := 'Name';
Header[1].Text := 'Value';
Row := Table.AddRow(18);
Row[0].Text := 'Alpha';
Row[1].Text := '42';
Section.Body.Add(Table);
Section.Body.Add(THPDFDOMImage.Create(Bitmap, 120, 80,
'Revenue chart by quarter', 'Chart'));
PDF.PDFUACompliance := True;
PDF.PDFUAPart := 2;
Statistics := Renderer.Render(Document, PDF);
Renderer odbija prvi naslov iznad H1, preskočene razine naslova, osirotjene uloge popisa ili tablica i PDF/UA sliku bez alternativnog teksta prije pisanja neispravne strukture
Identitet kroz stranice i redoslijed čitanja
Logička komponenta zadržava jedan element strukture kada se dijeli preko stranica
Svaki vidljivi nastavak prima MCID lokalan za stranicu i MCR rječnik koji ukazuje s postojećeg elementa strukture na ispravnu stranicu
Stranica ParentTree mapira svaki MCID natrag na taj isti element strukture, dok klonovi nastavka čuvaju logički identitet bez kopiranja izvornog teksta ili redaka tablice
Ponovljena zaglavlja tablica na stranicama nastavka su artefakti tako da njihovo vizualno ponavljanje ne preuređuje logičko zaglavlje tablice ispred ranijih redaka tijela
Izravni API-ji za autorstvo sigurno za nastavak
BeginTaggedContentForStructure dodjeljuje MCID i otvara označeni sadržaj za element strukture koji već postoji
AppendStructureMarkedContent dodaje eksplicitnu stranicu i MCID kao MCR te ažurira ParentTree stranice
Koristite ove metode niske razine kada prilagođeni renderer rasporeda posjeduje logiku nastavka izvan HPDFLayoutDOM
Statistika i kompatibilnost
THPDFDOMRenderStatistics izvještava o brojevima elemenata strukture, označenog sadržaja i artefakata uz stranice, postavljanja, dijelove i dubinu nastavka
Postavite GenerateStructure na False prije renderiranja kada je potreban bajtno kompatibilan neoznačeni izlaz