Automatinė PDF/UA struktūra iš išdėstymo medžių

THPDFDOMRenderer gali vizualų išdėstymo medį paversti atitinkančiu loginiu struktūros medžiu be rankinio MCID paskirstymo

THPDFDOMDocument.GenerateStructure pagal numatymą yra True, įjungia žymėtą PDF išvestį, sukuria vieną Document šaknį ir po vieną Sect kiekvienai sekcijai ir naudoja THPDFDOMDocument.Language, kai tikslas neturi dokumento kalbos

Semantikos numatymai ir perrašymai

Išdėstymo turinysSugeneruota struktūra
THPDFDOMTextP arba H1 iki H6, kai priskiriamas HeadingLevel
THPDFDOMStack ir THPDFDOMContainerDiv
THPDFDOMListL su LI, Lbl ir LBody palikuonimis bei ListNumbering
THPDFDOMTableTable, TR, TH ir TD su stulpelio apimtimi antraštės langeliuose
THPDFDOMImageFigure su pakaitiniu tekstu
Antraštės, poraštės, pasikartojančios lentelės antraštės, tarpikliai ir dekoratyvios dėžėsArtifact žymėtas turinys

Kiekvienas komponentas taip pat atskleidžia SemanticRole, SemanticLanguage, AlternativeText, ActualText, ExpansionText ir Artifact aiškiai kontrolei

Prieinamo dokumento pavyzdys

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);

Atvaizduotojas atmeta pirmą antraštę virš H1, praleistus antraščių lygius, našlaičių sąrašo arba lentelės vaidmenis ir PDF/UA figūrą be pakaitinio teksto prieš įrašydamas netinkamą struktūrą

Tarpkiapinė tapatybė ir skaitymo tvarka

Loginis komponentas išlaiko vieną struktūros elementą, kai jis persiskiria per puslapius

Kiekvienas matomas tęsinys gauna puslapiui vietinį MCID ir MCR žodyną, kuris nukreipia iš esamo struktūros elemento į teisingą puslapį

Puslapio ParentTree susieja kiekvieną MCID atgal su tuo pačiu struktūros elementu, o tęsinio klonai išlaiko loginę tapatybę be šaltinio teksto arba lentelės eilučių kopijavimo

Pasikartojančios lentelės antraštės tęsinių puslapiuose yra artefaktai, todėl jų vizualus kartojimas neperpildo logiškų lentelės antraščių prieš ankstesnes turinio eilutes

Tiesioginiai tęsedoms apsaugai skirti autoriniai API

BeginTaggedContentForStructure paskirsto MCID ir atidaro žymėtą turinį struktūros elementui, kuris jau egzistuoja

AppendStructureMarkedContent prideda aiškų puslapį ir MCID kaip MCR ir atnaujina puslapio ParentTree

Naudokite šiuos žemo lygio metodus, kai pasirinktinis išdėstymo atvaizduotojas valdo tęsinio logiką už HPDFLayoutDOM ribų

Statistika ir suderinamumas

THPDFDOMRenderStatistics praneša struktūros-elemento, žymėto turinio ir artefakto skaičius kartu su puslapiais, išdėstymais, skirsniais ir tęsinio gyliu

Nustatykite GenerateStructure į False prieš atvaizdavimą, kai reikia baitais suderinamos nepaženklintos išvesties

Susijusios API