property CharacterCount: Integer; // read only
CharacterCount는 활성 페이지의 FPDF_TEXTPAGE에서 PDFium이 식별하는
문자 개수를 반환합니다 — Character[Index], CharacterRectangle[Index],
CharacterOrigin[Index]와 검색 / 선택 레이어가 쓰는 것과 같은 인덱싱입니다. 개수는
ToUnicode CMap 해석 이후의 글리프를 반영하므로 각 항목은 PDF 폰트 프로그램의 글리프 하나가
아니라 PDFium이 디코딩한 Unicode 코드 포인트 하나에 대응합니다
Active가 False이거나 페이지에 텍스트 콘텐츠가 없는 경우(순수 이미지 /
벡터 페이지), 또는 텍스트가 ToUnicode CMap이 없는 폰트로 그려져 어떤 폴백 휴리스틱으로도
디코딩하지 못한 경우 값은 0입니다. PDFium은 줄바꿈과 단어 경계를 표현하려고
합성한 “생성된” 공백 문자도 포함하므로 — 실제 글리프와 합성 문자를 구분하려면
CharacterGenerated[Index]를 확인하세요
전형적인 루프는 for I := 0 to Pdf.CharacterCount - 1 do이며
Pdf.Character[I]는 WideChar를 반환합니다. 이들을 하나의 문자열로
이으면 읽기 순서의 페이지 텍스트가 됩니다
CharacterCount 자체는 페이지 파싱 후에는 O(1)이고 문자별 작업은 indexed 접근자가 담당합니다
CharacterMapError[Index]로
감지하세요. 이런 글리프는 보통 OCR이나 폰트 프로그램 검사가 필요합니다
var S: string;
var I: Integer;
SetLength(S, Pdf1.CharacterCount);
for I := 1 to Length(S) do
S[I] := Pdf1.Character[I - 1];
Memo1.Lines.Add(S);