SetStructElemIDA

Etiketli PDF, Erişilebilirlik

Açıklama

Sondaki A, ANSI (char) DLL giriş noktasını belirtir; ActiveX/COM yüzeyi yalnızca Unicode biçimini sunar. Davranış SetStructElemID ile aynıdır ve dize bağımsız değişkenleri geçerli SetAnsiMode kod sayfası kullanılarak yorumlanır

Etiket yığınında o anda açık olan yapı öğesine benzersiz kimlik dizesi atar. Kimlik, yapı öğesi sözlüğündeki /ID girdisi olarak yazılır ve belgenin /IDTree ad ağacında dizinlenir; böylece diğer öğeler buna başvurabilir (örneğin tablo hücrelerinin /Headers özniteliği üzerinden). Bunu BeginTag veya BeginTagEx çağrısından sonra ve EndTag çağrısından önce yapın

Sözdizimi

Delphi

Function DLSetStructElemIDA(InstanceID: Integer; ID: PAnsiChar): Integer;

DLL

int DLSetStructElemIDA(int InstanceID, const char * ID);

Parametreler

IDBu yapı ögesini belge içinde benzersiz biçimde tanımlayan boş olmayan dize. TH-Col-1, TH-Row-2 veya GUID benzeri bir dize gibi belgenin tamamında anlamlı ve benzersiz bir kimlik seçin

Dönüş değeri

Başarı durumunda 1 döndürür. Açık belge yoksa, etiket yığınında o anda açık bir etiket yoksa veya ID boşsa 0 döndürür

Açıklamalar

/ID girdisi ISO 32000-1 §14.7.3.4'te tanımlanır. Belge kaydedilirken tüm öge kimlikleri yapı ağacı kökündeki düz bir /IDTree ad ağacında toplanır; bu, erişilebilirlik araçlarının ve diğer ögelerin kimliğe göre arama yapmasını sağlar. /IDTree girdileri kimlik dizesine göre alfabetik sıralanır

Yaygın kullanım örneği, tablo başlık hücrelerini (TH) kimliklerle etiketleyerek veri hücrelerinin (TD) SetStructElemHeaders aracılığıyla kendilerini doğru başlıklarla ilişkilendirebilmesidir. Bu ilişki PDF/UA-1 (ISO 14289-1 §7.10) ve WCAG 2.x Başarı Ölçütü 1.3.1 kapsamındaki karmaşık tablolar için gereklidir

Aynı ID birden çok yapı öğesine atanırsa davranış tanımsızdır; her benzersiz ID için yalnızca bir öğeye belirli bir ID dizesi atanmalıdır

Örnek

// Tag a column header cell with an ID for later /Headers reference
PDFlib.BeginTag('TH', 'Product Name', '', '');
PDFlib.SetStructElemID('TH-ProductName');
PDFlib.SetStructElemScope('Column');
PDFlib.DrawText('Product Name', 100, 700);
PDFlib.EndTag;

PDFlib.BeginTag('TH', 'Price', '', '');
PDFlib.SetStructElemID('TH-Price');
PDFlib.SetStructElemScope('Column');
PDFlib.DrawText('Price', 250, 700);
PDFlib.EndTag;

// Tag a data cell referencing both header cells
PDFlib.BeginTag('TD', '', '', '');
PDFlib.SetStructElemHeaders('TH-ProductName,TH-Price');
PDFlib.DrawText('Widget A', 100, 680);
PDFlib.EndTag;

Ayrıca bkz

SetStructElemHeaders, AddTagAttribute, BeginTag, EndTag, SetPDFUAMode