SetStructElemActualText

PDF con tag & accessibilità

Descrizione

Imposta la voce /ActualText sull'elemento della struttura attualmente in creazione nello stack dei tag. ActualText fornisce il testo Unicode esatto rappresentato dall'elemento, sostituendo qualsiasi testo estratto dal flusso di contenuto PDF dal software di lettura

Usare questa funzione quando i glifi renderizzati nel flusso di contenuto non corrispondono direttamente ai caratteri previsti nell'ordine di lettura, ad esempio un glifo di legatura (ff, fi, fl) che deve essere letto come sequenza di due caratteri ff, fi o fl. Senza ActualText, gli strumenti di estrazione e gli screen reader possono produrre un output errato

Sintassi

Delphi

Function TPDFlib.SetStructElemActualText(Const ActualText: WideString): Integer;

ActiveX

Function PDFlib::SetStructElemActualText(ActualText As String) As Long

DLL

int DLSetStructElemActualText(int InstanceID, const wchar_t * ActualText);

Parametri

ActualTextStringa di testo Unicode da associare all'elemento di struttura corrente. Passare una stringa vuota per cancellare un valore impostato in precedenza.

Valore restituito

Restituisce 1 in caso di successo, 0 se nessun elemento della struttura è aperto o nessun documento è selezionato

Note

Chiamare subito dopo BeginTag o BeginTagEx mentre l'elemento è in cima allo stack.

ActualText e AltText hanno scopi diversi. AltText, parametro AltText di BeginTag, sostituisce l'intero elemento per le tecnologie assistive quando il contenuto visivo non è renderizzabile. ActualText integra l'estrazione sostituendo la sequenza di caratteri, senza sopprimere il rendering. Gli screen reader usano generalmente ActualText per la lettura quando presente

ISO 32000-1 §14.9.4 definisce ActualText come voce stringa di testo PDF nel dizionario dell'elemento della struttura. PDF/UA-1 (ISO 14289-1 §7.1) richiede che il contenuto testuale sia estraibile e corretto; ActualText è il meccanismo standard per soddisfare questo requisito per sequenze di glifi la cui estrazione diretta sarebbe ambigua o errata

Esempio

// Tag a ligature glyph so that text extraction yields "fi"
PDFlib.BeginTag('Span', '', '');
PDFlib.SetStructElemActualText('fi');
PDFlib.TextOut(x, y, #$FB01);   // U+FB01 LATIN SMALL LIGATURE FI
PDFlib.EndTag;

Vedere anche

BeginTag, BeginTagEx, SetStructElemID, AddTagAttribute, GetPDFUADiagnostics