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 razporejanjaGenerirana struktura
THPDFDOMTextP ali H1 do H6, kadar je dodeljen HeadingLevel
THPDFDOMStack in THPDFDOMContainerDiv
THPDFDOMListL s potomci LI, Lbl in LBody ter ListNumbering
THPDFDOMTableTable, TR, TH in TD s stolpčnim obsegom na celicah glave
THPDFDOMImageFigure z nadomestnim besedilom
Glave, noge, ponovljene glave tabel, distančniki in dekorativna poljaOznač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

Povezani API-ji