Automatska PDF/UA struktura iz stabala rasporeda
THPDFDOMRenderer može da pretvori vizuelno stablo rasporeda u odgovarajuće stablo logičke strukture bez ručne alokacije MCID-a
THPDFDOMDocument.GenerateStructure podrazumevano je True, omogućava tagovani PDF izlaz, formira jedan Document koren i jedan Sect po sekciji i koristi THPDFDOMDocument.Language kada cilj nema jezik dokumenta
Semantičke podrazumevane i pregazi
| Sadržaj rasporeda | Generisana struktura |
|---|---|
THPDFDOMText | P, ili H1 do H6 kada je dodeljen HeadingLevel |
THPDFDOMStack i THPDFDOMContainer | Div |
THPDFDOMList | L sa potomcima LI, Lbl i LBody plus ListNumbering |
THPDFDOMTable | Table, TR, TH i TD, sa opsegom kolone na ćelijama zaglavlja |
THPDFDOMImage | Figure s alternativnim tekstom |
| Zaglavlja, podnožja, ponovljena zaglavlja tabela, odstojnici i dekorativna polja | Artifact označeni sadržaj |
Svaka komponenta takođe izlaže SemanticRole, SemanticLanguage, AlternativeText, ActualText, ExpansionText i Artifact radi eksplicitne kontrole
Primer 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 nivoe naslova, uloge siročadi liste ili tabele i PDF/UA figuru bez alternativnog teksta pre pisanja nevažeće strukture
Međustranični identitet i redosled čitanja
Logička komponenta zadržava jedan strukturni element kada se deli preko stranica
Svaki vidljivi nastavak dobija MCID lokalizovan za stranicu i MCR rečnik koji ukazuje sa postojećeg strukturnog elementa na tačnu stranicu
Stranični ParentTree preslikava svaki MCID nazad na taj isti strukturni element, dok klonovi nastavka čuvaju logički identitet bez kopiranja izvornog teksta ili redova tabele
Ponovljena zaglavlja tabela na stranicama nastavka su artefakti, tako da njihovo vizuelno ponavljanje ne preuređuje logičko zaglavlje tabele ispred ranijih redova tela
Direktni API-ji za autorovanje bezbedno po nastavak
BeginTaggedContentForStructure dodeljuje MCID i otvara označeni sadržaj za strukturni element koji već postoji
AppendStructureMarkedContent dodaje eksplicitnu stranicu i MCID kao MCR i ažurira stranični ParentTree
Koristite ove metode nižeg nivoa kada prilagođeni renderer rasporeda poseduje logiku nastavka van HPDFLayoutDOM
Statistike i kompatibilnost
THPDFDOMRenderStatistics izveštava brojanje strukturnih elemenata, označenog sadržaja i artefakata uz stranice, pozicioniranja, podele i dubinu nastavka
Postavite GenerateStructure na False pre renderovanja kada je potreban bajt-kompatibilan netagovani izlaz