Samodejna struktura PDF/UA iz razporeditvenih dreves
THPDFDOMRenderer lahko spremeni vizualno razporeditveno drevo v ujemajoče se logično strukturno drevo brez ročne dodelitve MCID
THPDFDOMDocument.GenerateStructure privzeto znaša True, omogoči označeni izhod PDF, ustvari en koren Document in en Sect na razdelek ter uporabi THPDFDOMDocument.Language, kadar cilj nima jezika dokumenta
Semantični privzetki in preglasi
| Vsebina razporejanja | Generirana struktura |
|---|---|
THPDFDOMText | P ali H1 do H6, kadar je dodeljen HeadingLevel |
THPDFDOMStack in THPDFDOMContainer | Div |
THPDFDOMList | L s potomci LI, Lbl in LBody ter ListNumbering |
THPDFDOMTable | Table, TR, TH in TD s stolpčnim obsegom na celicah glave |
THPDFDOMImage | Figure z nadomestnim besedilom |
| Glave, noge, ponovljene glave tabel, distančniki in dekorativna polja | Označena vsebina Artifact |
Vsaka komponenta izpostavi tudi SemanticRole, SemanticLanguage, AlternativeText, ActualText, ExpansionText in Artifact za ekspliciten nadzor
Primer dostopnega 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);
Upodabljalnik zavrne prvi naslov nad H1, preskočene ravni naslovov, osirotela vloge seznamov ali tabel in sliko PDF/UA brez nadomestnega besedila, preden zapiše neveljavno strukturo
Identiteta čez strani in vrstni red branja
Logična komponenta ohrani en strukturni element, ko se razdeli čez strani
Vsako vidno nadaljevanje prejme MCID, lokalni za stran, in slovar MCR, ki kaže iz obstoječega strukturnega elementa na pravilno stran
Stransko drevo ParentTree preslika vsak MCID nazaj na isti strukturni element, medtem ko kloni nadaljevanja ohranijo logično identiteto brez kopiranja izvornega besedila ali vrstic tabel
Ponovljene glave tabel na nadaljevalnih straneh so artefakti, zato njihovo vizualno ponavljanje ne prerazporedi logične glave tabele pred zgodnejše vrstice telesa
Neposredni API-ji za pisanje, varni za nadaljevanja
BeginTaggedContentForStructure dodeli MCID in odpre označeno vsebino za strukturni element, ki že obstaja
AppendStructureMarkedContent doda eksplicitno stran in MCID kot MCR ter posodobi stransko drevo ParentTree
Uporabite te nizkonivojske metode, kadar upodabljalnik razporejanja po meri upravlja logiko nadaljevanj zunaj HPDFLayoutDOM
Statistika in združljivost
THPDFDOMRenderStatistics poroča o številih strukturnih elementov, označene vsebine in artefaktov poleg strani, postavitev, razdelitev in globine nadaljevanj
Nastavite GenerateStructure na False pred upodabljanjem, kadar je zahtevan bajtno združljiv neoznačeni izhod