ReplaceTextBlockCharSourceBytes

文字、擷取、內容串流、文件編輯

描述

取代所選文件中對應到單一已擷取字元的編碼來源位元組範圍

語法

Delphi

Function TPDFlib.ReplaceTextBlockCharSourceBytes(TextBlockListID, Index,
  CharIndex: Integer; Const NewSource: AnsiString): Integer;

參數

TextBlockListIDExtractPageTextBlocks 為所選文件傳回的控制代碼
Index以 1 為起始的文字區塊索引
CharIndex區塊文字內以 1 為起始的 UTF-16 代碼單元位置
NewSource使用目前 PDF 字型編碼的原始取代位元組,而非 Unicode 文字

傳回值

1已對應的位元組範圍已取代,且其頁面內容層已改寫
0位置無效、已過期或為唯讀,或內容層無法改寫

錯誤碼

PDFLIB_ERROR_TEXT_LOCATION_INVALID清單、索引、位置或內容指令無效
PDFLIB_ERROR_TEXT_LOCATION_STALE目標頁面內容層自擷取後已變更
PDFLIB_ERROR_TEXT_LOCATION_READ_ONLY該字元為產生的字元、由 /ActualText 替代、巢狀於 Form 內、在字型對應前經過轉碼,或橫跨多個內容層

備註

此方法只改寫包含它的頁面內容圖層,並保留相鄰的 Tj 字串、TJ 陣列字串與 kerning 數值

兩個獨立指紋在剖析與寫入前偵測過期內容,舊的萃取結果因此無法無聲地指向已變更的位元組

每次成功取代後請重新萃取頁面文字,因為前一個清單的所有位置都已過期

連字展開的字元共用一個來源範圍,應視為單一來源字形

成功或失敗後都會還原所選頁面