SetStructElemActualTextA

Tagged PDF & 접근성

설명

뒤에 붙은 A는 ANSI(char) DLL 진입점을 나타내며 ActiveX/COM 표면은 Unicode 형식만 노출합니다. 동작은 SetStructElemActualText와 동일하며 문자열 인수는 현재 SetAnsiMode 코드 페이지를 사용하여 해석됩니다

태그 스택에서 현재 작성 중인 구조 요소에 /ActualText 항목을 설정합니다. ActualText는 요소가 나타내는 정확한 Unicode 텍스트를 제공하며 리더 소프트웨어가 PDF 콘텐츠 스트림에서 추출한 텍스트를 재정의합니다

콘텐츠 스트림의 글리프가 의도한 읽기 순서 문자에 직접 매핑되지 않을 때 사용합니다. 예를 들어 합자 글리프(ff, fi, fl)가 두 문자 시퀀스 ff, fi, fl로 읽혀야 하는 경우입니다. ActualText가 없으면 추출 도구와 화면 판독기가 잘못된 결과를 낼 수 있습니다

구문

Delphi

Function DLSetStructElemActualTextA(InstanceID: Integer; ActualText: PAnsiChar): Integer;

DLL

int DLSetStructElemActualTextA(int InstanceID, const char * ActualText);

매개변수

ActualText현재 구조 요소와 연결할 Unicode 텍스트 문자열입니다. 이전에 설정한 값을 지우려면 빈 문자열을 전달합니다

반환 값

성공하면 1, 현재 열린 구조 요소가 없거나 문서를 선택하지 않았으면 0을 반환함

비고

대상 요소가 태그 스택 맨 위에 있는 동안 BeginTag 또는 BeginTagEx 직후에 이 함수를 호출합니다

ActualText와 AltText는 용도가 다릅니다. AltText(BeginTag의 AltText 매개변수로 설정)는 시각적 콘텐츠를 렌더링할 수 없을 때 보조 기술을 위해 요소 전체를 대신하는 표현입니다. ActualText는 콘텐츠 스트림 텍스트 추출을 보완합니다. 요소에서 추출되는 문자 시퀀스를 대체하지만 렌더링은 억제하지 않습니다. 두 기능을 모두 지원하는 화면 읽기 프로그램은 일반적으로 ActualText가 있으면 읽어주기 출력에 이를 사용합니다

ISO 32000-1 §14.9.4는 ActualText를 구조 요소 사전의 PDF 텍스트 문자열 항목으로 정의합니다. PDF/UA-1(ISO 14289-1 §7.1)은 텍스트 콘텐츠를 정확히 추출할 수 있도록 요구하며 ActualText는 직접 추출이 모호하거나 부정확한 글리프 시퀀스에서 이를 충족하는 표준 메커니즘입니다

예제

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

참고 항목

BeginTag, BeginTagEx, SetStructElemID, AddTagAttribute, GetPDFUADiagnostics