ReplaceTextBlockCharSourceBytes
텍스트, 추출, 콘텐츠 스트림, 문서 편집
설명
선택된 문서에서 추출된 한 문자에 매핑된 인코딩된 원본 바이트 범위를 교체합니다
구문
Delphi
Function TPDFlib.ReplaceTextBlockCharSourceBytes(TextBlockListID, Index,
CharIndex: Integer; Const NewSource: AnsiString): Integer;매개변수
| TextBlockListID | 선택된 문서에 대해 ExtractPageTextBlocks가 반환한 핸들 |
|---|---|
| Index | 1부터 시작하는 텍스트 블록 인덱스 |
| CharIndex | 블록 텍스트 안에서 1부터 시작하는 UTF-16 코드 유닛 위치 |
| NewSource | 활성 PDF 폰트 인코딩의 원시 대체 바이트이며 유니코드 텍스트가 아닙니다 |
반환값
| 1 | 매핑된 바이트 범위가 교체되고 해당 페이지 콘텐츠 레이어가 다시 쓰였습니다 |
|---|---|
| 0 | 위치가 잘못되었거나 낡았거나 읽기 전용이거나, 콘텐츠 레이어를 다시 쓸 수 없습니다 |
오류 코드
PDFLIB_ERROR_TEXT_LOCATION_INVALID | 목록, 인덱스, 위치 또는 콘텐츠 명령이 잘못되었습니다 |
|---|---|
PDFLIB_ERROR_TEXT_LOCATION_STALE | 추출 이후 대상 페이지 콘텐츠 레이어가 변경되었습니다 |
PDFLIB_ERROR_TEXT_LOCATION_READ_ONLY | 문자가 생성되었거나, /ActualText로 대체되었거나, Form 안에 중첩되었거나, 폰트 매핑 전에 트랜스코딩되었거나, 콘텐츠 레이어에 걸쳐 분할되어 있습니다 |
비고
메서드는 그 내용을 담는 페이지 콘텐츠 레이어만 다시 쓰고 인접한 Tj 문자열, TJ 배열 문자열, 커닝 수치를 보존합니다
두 개의 독립 지문이 파싱 전과 기록 전에 오래된 콘텐츠를 감지하므로, 오래된 추출 결과가 바뀐 바이트를 조용히 겨냥할 수 없습니다
성공한 치환마다 페이지 텍스트를 다시 추출하십시오. 이전 목록의 모든 위치는 낡았습니다
리가처 확장된 문자는 하나의 소스 범위를 공유하므로 하나의 소스 글리프로 다뤄야 합니다
성공이든 실패든 이후 선택 페이지가 복원됩니다