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
| ID | Bu 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