SetStructElemActualText

Tagged PDF i dostępność

Opis

Ustawia wpis /ActualText w elemencie struktury aktualnie budowanym na stosie znaczników. ActualText zawiera dokładny tekst Unicode reprezentowany przez element, zastępując tekst wyodrębniony ze strumienia zawartości PDF przez oprogramowanie czytnika

Użyj tej funkcji, gdy glify renderowane w strumieniu zawartości nie odpowiadają bezpośrednio zamierzonym znakom w kolejności odczytu — na przykład glif ligatury (ff, fi, fl), który powinien być odczytywany jako dwuznakowa sekwencja ff, fi lub fl. Bez ActualText narzędzia do wyodrębniania tekstu i czytniki ekranu mogą zwracać dla takich glifów nieprawidłowe wyniki

Składnia

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);

Parametry

ActualTextCiąg tekstu Unicode do powiązania z bieżącym elementem struktury. Przekaż pusty ciąg, aby usunąć wcześniej ustawioną wartość

Wartość zwracana

Zwraca 1 w przypadku powodzenia albo 0, gdy żaden element struktury nie jest obecnie otwarty lub nie wybrano dokumentu

Uwagi

Wywołaj tę funkcję bezpośrednio po BeginTag lub BeginTagEx, gdy element docelowy znajduje się na szczycie stosu tagów

ActualText i AltText służą do różnych celów. AltText (ustawiany parametrem AltText funkcji BeginTag) jest alternatywną reprezentacją całego elementu przeznaczoną dla technologii asystujących, gdy nie można wyrenderować zawartości wizualnej. ActualText uzupełnia wyodrębnianie tekstu ze strumienia zawartości: zastępuje wyodrębnioną sekwencję znaków elementu, ale nie wyłącza renderowania. Czytniki ekranu obsługujące obie właściwości zwykle używają ActualText do odczytu na głos, gdy jest dostępny

ISO 32000-1 §14.9.4 definiuje ActualText jako wpis ciągu tekstowego PDF w słowniku elementu struktury. PDF/UA-1 (ISO 14289-1 §7.1) wymaga, aby zawartość tekstowa była możliwa do wyodrębnienia i poprawna; ActualText jest standardowym mechanizmem spełniającym to wymaganie dla sekwencji glifów, których bezpośrednie wyodrębnienie byłoby niejednoznaczne lub nieprawidłowe

Przykład

// 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;

Zobacz również

BeginTag, BeginTagEx, SetStructElemID, AddTagAttribute, GetPDFUADiagnostics