DAGetTextBlockCharContentLocation

ダイレクトアクセス、テキスト、抽出、コンテンツストリーム、診断

説明

Direct Accessで抽出した1文字に関連付けられた、安定したコンテンツストリーム位置とエンコード済みソースバイト範囲を返します

構文

Delphi

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

パラメータ

TextBlockListIDDAExtractPageTextBlocksが返したハンドル
Index1始まりのテキストブロックインデックス
CharIndexブロックテキスト内の1始まりのUTF-16コード単位位置
ContentLayer1始まりのページ/Contentsレイヤー。ネストされたコンテンツでは0
StreamObjectNumber包含ストリームのオブジェクト番号。直接ストリームでは0
StreamGeneration包含ストリームの世代番号
InstructionIndexデコード済みコンテンツプログラム内の0始まりの命令インデックス
OperandIndex0始まりのテキスト文字列オペランドインデックス
ArrayElementIndex0始まりのTJ配列要素。直接文字列オペランドでは-1
SourceByteOffsetデコード済み文字列値内の0始まりオフセット。安全にアドレス指定できる範囲がない場合は-1
SourceByteLengthソースグリフのエンコード済みソースバイト数。安全にアドレス指定できる範囲がない場合は0
FlagsGetTextBlockCharContentLocationと共通のビットフラグ形式のコンテンツ位置フラグ

戻り値

1位置レコードが返されました。合成レコードや読み取り専用レコードも含みます
0ハンドル、ブロックインデックスまたは文字インデックスが無効です

備考

ダイレクトアクセスのロケーションは診断用かつ読み取り専用です。ReplaceTextBlockCharSourceBytesは選択された編集可能なドキュメントに対して動作するためです

オフセットはUnicodeテキストではなく、デコードされたフォントエンコード文字列のバイトを指します

ダイレクトアクセスのファイルハンドルを閉じた後も、ロケーションデータはテキストブロックリスト内に残ります

補助文字とリガチャ展開は、複数のUTF-16位置に対して同じソース範囲を返すことがあります