ReplaceTextBlockCharSourceBytes
文字、擷取、內容串流、文件編輯
描述
取代所選文件中對應到單一已擷取字元的編碼來源位元組範圍
語法
Delphi
Function TPDFlib.ReplaceTextBlockCharSourceBytes(TextBlockListID, Index,
CharIndex: Integer; Const NewSource: AnsiString): Integer;參數
| TextBlockListID | ExtractPageTextBlocks 為所選文件傳回的控制代碼 |
|---|---|
| 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 數值
兩個獨立指紋在剖析與寫入前偵測過期內容,舊的萃取結果因此無法無聲地指向已變更的位元組
每次成功取代後請重新萃取頁面文字,因為前一個清單的所有位置都已過期
連字展開的字元共用一個來源範圍,應視為單一來源字形
成功或失敗後都會還原所選頁面