ConvertTextToPaths

コンテンツストリーム編集、フォント

説明

グリフ配置、文字間隔、書字方向、変換、塗り色、線色、線設定を維持しながら、選択ページのテキスト表示命令をベクター Form XObject 呼び出しとして書き換える

TrueType と Type 1 のグリフアウトラインは 1 回抽出され、繰り返されるグリフで再利用されます。Type 3 CharProc はフォント行列、バウンディングボックス、リソーススコープを保持して通常の Form XObject に変換されます。元のテキスト表示命令とフォント選択命令は削除されます

変換はトランザクション処理です。選択したすべてのコンテンツレイヤーと要求されたネスト Form は、PDF オブジェクトを変更する前にメモリ内で解析および変換されます。未対応フォント、テキストクリッピングのレンダリングモード 4~7、不正なテキスト状態、曖昧な共有 Form リソーススコープがある場合は、文書を部分的に書き換えずに失敗します

変換後のテキストは検索、選択、テキスト抽出できなくなりますが、レンダリングと印刷用の拡大縮小可能なベクターコンテンツとして残ります

構文

Delphi

Function TPDFlib.ConvertTextToPaths(Const PageRange: WideString= ''; Options: Integer= PDF_TEXT_PATH_DEFAULT): Integer;

ActiveX

Function PDFlib::ConvertTextToPaths(PageRange As String, Options As Long) As Long

DLL

int DLConvertTextToPaths(int InstanceID, const wchar_t *PageRange, int Options);
int DLConvertTextToPathsA(int InstanceID, const char *PageRange, int Options);

パラメータ

PageRange1 始まりのページ番号を使用するページ範囲式です。空の値はすべてのページを選択します
Optionsネストした Form XObject を変換する PDF_TEXT_PATH_RECURSE_FORMS と、未使用になったソースフォントリソースを削除する PDF_TEXT_PATH_PURGE_FONTS のビット単位の組み合わせ。PDF_TEXT_PATH_DEFAULT は両方のオプションを有効にする

戻り値

1 or greater変換されたテキスト表示命令の数
0対象となるテキストが見つからなかった、範囲またはオプションが無効だった、または変換に失敗しました。エラーを区別するには LastErrorCode を確認してください

エラーコード

506ソースフォントは対応するベクターグリフプログラムを提供できません
507テキストクリッピングのレンダリングモードには、独立したグリフ Form では表現できないクリッピングパスが必要です
508テキストプログラム、フォント状態、または再帰的な Form リソーススコープが不正か曖昧です

例

Converted := PDF.ConvertTextToPaths('1-3,5', PDF_TEXT_PATH_DEFAULT);
If (Converted= 0)and (PDF.LastErrorCode<> 0) Then
  raise Exception.Create(PDF.LastError);