Mantıksal Yapı
Mantıksal Yapı
Etiketlenmiş PDF’ler, belgenin tanımladığı mantıksal bir yapı ağaç içerir. Semantik İlerjik - paragraflar, başlıklar ve tablolar. Aspose.PDF FOSS for .NET, bu yöntemi sağlar. TaggedContent İnşaat ve denetim için API bu yapı, PDF/UA erişilebilirliği uyumluluğu için gerekli.
Etiketli içerikler
using var doc = new Document();
var tagged = doc.TaggedContent;
tagged.SetTitle("Accessible Document");
tagged.SetLanguage("en-US");Yapı Elemanları Oluşturmak
ITaggedContent Her standart yapı elemanı için fabrika yöntemleri sağlar. Bir ağaçta birleştirilir.Ağaça birleşir. AppendChild.
var root = tagged.RootElement;
var heading = tagged.CreateHeaderElement(1);
heading.SetText("Chapter 1");
root.AppendChild(heading);
var paragraph = tagged.CreateParagraphElement();
paragraph.SetText("This is the first paragraph.");
root.AppendChild(paragraph);Yapılandırılmış tablolar
TableElement Baş, vücut ve ayak bölümleri ile erişilebilir tablolar oluşturur.
var table = tagged.CreateTableElement();
root.AppendChild(table);
var thead = table.CreateTHead();
var headerRow = thead.CreateTR();
headerRow.CreateTH().SetText("Name");
headerRow.CreateTH().SetText("Value");
var tbody = table.CreateTBody();
var dataRow = tbody.CreateTR();
dataRow.CreateTD().SetText("Width");
dataRow.CreateTD().SetText("612");Görüntüleri ve Sayılar
IllustrationElement Yapı ağaçlarında resim yapar.
var figure = tagged.CreateFigureElement();
figure.SetImage("chart.png");
figure.SetAlternativeText("Sales chart for Q4");
root.AppendChild(figure);Yapı Eleman Türleri
API, PDF yapısı öğeleri türlerinin tam setini destekler:
- Blok seviyesi: Paragraf, Başlık (H1-H6), List, ListItem, Tablo, BlockQuote, Kodu
- Inline: İndirim, Link, Annotasyon, Şekil, Formül
- Grouping:Bölüm, bölüm, bölümü ve bölüm
İpuçları ve En İyi Uygulamalar
- Her zaman ayarlayın
TitleveLanguageÜzerindeTaggedContentPDF / UA uyumluluğu için. - Yapı ağaç üst-aşağı inşa: elemanlar oluşturun, sonra çocukları yapıştırın.
- Kullanım
SetAlternativeTextEkran okuyucu erişilebilirliği için figür elemanları. - Tabloları ile
THead,TBody,TFootDoğru tablo semantikleri için. - PDF/UA uyumluluğunu doğrulamak için
PdfFormatConversionOptions(Dönüşüm kılavuzu için bakınız).
ortak sorunlar
| Issue | Cause | Fix |
|---|---|---|
| PDF/UA validasyonu başarısız oldu | Yapı ağaç eksik gerekli elementler | Tüm içeriklerin ilgili yapı unsurlarına sahip olduğundan emin olun. |
| Başlık düzeni yanlıştır | H1’den önce H2 ortaya çıkıyor | Sequential Head Hierarchy’yi takip edin |
| Resim alt metin yok | SetAlternativeText Çağrı Yapmıyor | Her zaman alt metin ilham için sunun |
| Ekran Okuyucu tarafından tanımlanmamış tablo | THead / TBody yapısı eksikliği | Tüm tablo yapı API kullanın |
FAQ
Etiketlenmiş bir PDF nedir?
Etiketlenmiş bir PDF, görsel içeriği semantik unsurlara (başlıklar, paragraflar ve tablolar) haritalayan mantıksal yapı ağaçları içerir; bu da erişilebilirlik araçlarını ve içerik yeniden akışını sağlar.
PDF ile aynı etiketli mi?
PDF/UA, etiketleme artı ek erişilebilirlik kuralları gerektiren bir standarttır. etkili PDF’ler PDF / UA uyumluluğu için bir ön koşuldur.
Mevcut bir PDF’yi işaretleyebilir miyim?
O zamanlar TaggedContent API, scratch’ten oluşturulan belgelerle en iyi şekilde çalışır. mevcut PDF’ler, yapı ağaçları incelemek için Document.TaggedContent.
API Referans Özetleri
| Sınıf / Yöntem | Description |
|---|---|
TaggedContent | Logik yapı operasyonları için giriş noktası |
TaggedContent.SetTitle | Accessibility için belge başlığı ayarlayın |
TaggedContent.SetLanguage | Belge dilini ayarlayın |
ITaggedContent | Tüm öğeler için fabrika yöntemleri ile arayüzü |
StructureElement | Tüm yapı elementleri için temel sınıf |
StructureElement.AppendChild | Ağaçta bir çocuk elementini ekleyin. |
StructureElement.SetText | Bir öğenin metin içeriğini ayarlayın |
TableElement | - erişilebilir tablo yapısı |
TableElement.CreateTHead | Tablo başlık bölümünü oluşturun |
TableElement.CreateTBody | Tablo vücut bölümünü oluşturun |
TableTRElement | Tablo Elemanı |
TableTRElement.CreateTD | Bir veri hücresi ekleyin |
TableTRElement.CreateTH | Bir header hücresi ekleyin |
IllustrationElement | Görüntü / Görüş Yapısı Elemanı |
IllustrationElement.SetImage | Bir resim ile bir illüstrasyon ekleyin. |