GetTextBlockCharContentLocation

텍스트, 추출, 콘텐츠 스트림, 진단

설명

추출된 문자 하나와 연관된 안정적인 콘텐츠 스트림 위치와 인코딩된 소스 바이트 범위를 반환합니다

구문

Delphi

Function TPDFlib.GetTextBlockCharContentLocation(TextBlockListID, Index,
  CharIndex: Integer; Out ContentLayer, StreamObjectNumber,
  StreamGeneration, InstructionIndex, OperandIndex, ArrayElementIndex,
  SourceByteOffset, SourceByteLength, Flags: Integer): Integer;

매개변수

TextBlockListIDExtractPageTextBlocks가 반환한 핸들
Index1 기반 텍스트 블록 인덱스
CharIndex블록 텍스트 안의 1 기반 UTF-16 코드 단위 위치
ContentLayer1 기반 페이지 /Contents 레이어이며 중첩 콘텐츠는 0
StreamObjectNumber포함 스트림의 객체 번호이며 직접 스트림은 0
StreamGeneration포함 스트림의 세대 번호
InstructionIndex디코딩된 콘텐츠 프로그램에서의 0 기반 명령 인덱스
OperandIndex0 기반 텍스트 문자열 피연산자 인덱스
ArrayElementIndex0 기반 TJ 배열 요소이며 직접 문자열 피연산자는 -1
SourceByteOffset디코딩된 문자열 값에서의 0 기반 오프셋이며 안전하게 주소 지정 가능한 범위가 없으면 -1
SourceByteLength소스 글리프의 인코딩된 소스 바이트 수이며 안전하게 주소 지정 가능한 범위가 없으면 0
Flags아래에서 설명하는 비트별 콘텐츠 위치 플래그

반환 값

1위치 레코드가 반환되었으며 합성 레코드와 읽기 전용 레코드도 포함됩니다
0핸들, 블록 인덱스 또는 문자 인덱스가 잘못되었습니다

플래그

PDF_TEXT_CHAR_CONTENT_LOCATION_VALID바이트 범위가 읽기 전용 플래그의 적용을 받는 콘텐츠 문자열을 식별합니다
PDF_TEXT_CHAR_CONTENT_LOCATION_GENERATED문자는 레이아웃 중에 생성되었으며 소스 바이트가 없습니다
PDF_TEXT_CHAR_CONTENT_LOCATION_LIGATURE여러 추출된 UTF-16 위치가 하나의 소스 글리프 범위를 공유합니다
PDF_TEXT_CHAR_CONTENT_LOCATION_ACTUALTEXT문자는 /ActualText 치환에서 왔으며 읽기 전용입니다
PDF_TEXT_CHAR_CONTENT_LOCATION_NESTED문자는 중첩된 Form 콘텐츠에서 왔으며 읽기 전용입니다
PDF_TEXT_CHAR_CONTENT_LOCATION_CROSS_LAYER피연산자와 텍스트 표시 연산자가 페이지 콘텐츠 레이어를 넘으며 읽기 전용입니다
PDF_TEXT_CHAR_CONTENT_LOCATION_TRANSCODED소스 문자열은 폰트 매핑 전에 트랜스코딩되었으므로 디코딩된 오프셋은 원래 바이트를 안전하게 주소 지정할 수 없습니다

비고

오프셋은 Unicode 텍스트가 아니라 디코딩된 폰트 인코딩 문자열 바이트를 가리킵니다

보조 문자와 리가처 확장은 둘 이상의 UTF-16 위치에 대해 같은 소스 범위를 반환할 수 있습니다

ReplaceTextBlockCharSourceBytes는 유효 플래그가 설정되고 읽기 전용 플래그가 하나도 없을 때만 사용하십시오

위치 조회는 추출 시점의 스팬을 쓰며 페이지 콘텐츠를 다시 파싱하지 않습니다