SetStructElemIDA
Tagged PDF, Barrierefreiheit
Beschreibung
Das nachgestellte A kennzeichnet den ANSI-DLL-Einstiegspunkt (char); die ActiveX/COM-Oberfläche stellt nur die Unicode-Form bereit. Das Verhalten entspricht SetStructElemID, und Zeichenfolgenargumente werden mit der aktuellen Codepage von SetAnsiMode interpretiert
Weist dem aktuell im Tag-Stapel geöffneten Strukturelement eine eindeutige Identitätszeichenfolge zu. Die ID wird als Eintrag /ID in das Strukturelementwörterbuch geschrieben und im Namensbaum /IDTree des Dokuments indiziert, damit andere Elemente darauf verweisen können, beispielsweise über das Attribut /Headers von Tabellenzellen. Rufen Sie dies nach BeginTag oder BeginTagEx und vor EndTag auf
Syntax
Delphi
Function DLSetStructElemIDA(InstanceID: Integer; ID: PAnsiChar): Integer;
DLL
int DLSetStructElemIDA(int InstanceID, const char * ID);
Parameter
| ID | Eine nicht leere Zeichenfolge, die dieses Strukturelement innerhalb des Dokuments eindeutig kennzeichnet. Wählen Sie eine im gesamten Dokument aussagekräftige und eindeutige ID, beispielsweise TH-Col-1, TH-Row-2 oder eine GUID-ähnliche Zeichenfolge |
|---|
Rückgabewert
Gibt bei Erfolg 1 zurück. Gibt 0 zurück, wenn kein Dokument geöffnet ist, derzeit kein Tag auf dem Tag-Stapel geöffnet ist oder ID leer ist
Anmerkungen
Der Eintrag /ID ist in ISO 32000-1 §14.7.3.4 definiert. Beim Speichern des Dokuments werden alle Element-IDs in einem flachen Namensbaum /IDTree am Stamm des Strukturbaums gesammelt; dadurch können Barrierefreiheitswerkzeuge und andere Elemente Elemente anhand ihrer ID nachschlagen. Die /IDTree-Einträge werden alphabetisch nach ID-Zeichenfolge sortiert
Ein häufiger Anwendungsfall ist das Kennzeichnen von Tabellenkopfzellen (TH) mit IDs, damit Datenzellen (TD) sich über SetStructElemHeaders den richtigen Kopfzellen zuordnen können. Diese Zuordnung ist für komplexe Tabellen nach PDF/UA-1 (ISO 14289-1 §7.10) und WCAG 2.x Erfolgskriterium 1.3.1 erforderlich.
Wenn dieselbe ID mehreren Strukturelementen zugewiesen wird, ist das Verhalten undefiniert; eine bestimmte ID-Zeichenfolge sollte nur ein Element pro eindeutiger ID erhalten
Beispiel
// 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;Siehe auch
SetStructElemHeaders, AddTagAttribute, BeginTag, EndTag, SetPDFUAMode