Yerleşim Ağaçlarından Otomatik PDF/UA Yapısı

THPDFDOMRenderer, görsel yerleşim ağacını manuel MCID tahsisi olmadan eşleşen bir mantıksal yapı ağacına dönüştürebilir

THPDFDOMDocument.GenerateStructure varsayılan olarak True değerini alır, etiketli PDF çıktısını etkinleştirir, bölüm başına bir Document kökü ve bir Sect oluşturur ve hedefin belge dili yokken THPDFDOMDocument.Language değerini kullanır

Semantik varsayılanlar ve geçersiz kılmalar

Yerleşim içeriğiÜretilen yapı
THPDFDOMTextHeadingLevel atandığında P veya H1'den H6'ya
THPDFDOMStack ve THPDFDOMContainerDiv
THPDFDOMListLI, Lbl ve LBody altöğeleri ile L artı ListNumbering
THPDFDOMTableÜst bilgi hücrelerinde sütun kapsamıyla Table, TR, TH ve TD
THPDFDOMImageAlternatif metinle Figure
Başlıklar, altbilgiler, yinelenen tablo başlıkları, ayırıcılar ve dekoratif kutularArtifact işaretli içerik

Ayrıca her bileşen açık kontrol için SemanticRole, SemanticLanguage, AlternativeText, ActualText, ExpansionText ve Artifact öğelerini açığa çıkarır

Erişilebilir belge örneği

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

Renderleyici, geçersiz yapı yazmadan önce H1'in üzerindeki ilk başlığı, atlanan başlık düzeylerini, yetim liste veya tablo rollerini ve alternatif metriği olmayan bir PDF/UA şeklini reddeder

Sayfalar arası kimlik ve okuma sırası

Mantıksal bir bileşen sayfalar arasında bölündüğünde tek yapı öğesi tutar

Her görünür devam, sayfa-yerel bir MCID ve mevcut yapı öğesinden doğru sayfaya işaret eden bir MCR sözlüğü alır

Sayfa ParentTree her MCID'yi ayın yapı öğesine geri eşlerken, devam kopyaları kaynak metni veya tablo satırlarını kopyalamadan mantıksal kimliği korur

Devam sayfalarındaki yinelenen tablo başlıkları yapay öğedir; böylece görsel tekrarları mantıksal tablo başlığını daha önceki gövde satırlarının önüne taşımaz

Devam güvenli doğrudan yazma API'leri

BeginTaggedContentForStructure bir MCID tahsis eder ve zaten var olan bir yapı öğesi için işaretli içeriği açar

AppendStructureMarkedContent açık bir sayfa ve MCID'yi MCR olarak ekler ve sayfa ParentTree değerini günceller

Özel bir yerleşim renderleyicisi HPDFLayoutDOM dışında devam mantığına sahip olduğunda bu daha düşük seviyeli yöntemleri kullanın

İstatistikler ve uyumluluk

THPDFDOMRenderStatistics; sayfalar, yerleştirmeler, bölmeler ve devam derinliğinin yanında yapı öğesi, işaretli içerik ve yapay öğe sayılarını raporlar

Bayt uyumlu etiketsiz çıktı gerektiğinde oluşturmadan önce GenerateStructure değerini False olarak ayarlayın

İlgili API'ler