PDFiumPas 文件

CharacterIsHyphen 屬性

此 API 條目保留識別符號、簽名、程式碼塊和 PDF 術語的原始形式。
元件: TPdf  ·  單元: PDFium
當指定索引的字元被辨識為用於行尾斷字的軟連字號時,傳回 True。可在重建跨行換行的單字時使用,而不保留可見的連字號標記

語法

property CharacterIsHyphen[Index: Integer]: Boolean; // read only

Index目前頁面上的零起始字元索引,範圍為 0 到 CharacterCount - 1

說明

CharacterIsHyphen 會在 PDFium 將 Index 處的字元分類為軟式(換行)連字號,而不是屬於複合字的普通連字號時傳回 True。這個分類是以經驗法則判定:它會觀察字元的 Unicode 碼點、行尾位置,以及後續文字區段的距離,來決定在連接各行時是否應保留該連字號

軟連字號是由排版引擎(LaTeX、Word、InDesign)插入,用來把長單字拆成多行。當你從 PDF 檢視器複製文字時,軟連字號通常會被丟棄,因此「high-
way」會貼上成 highway,而不是 high-way。這個屬性可讓你的擷取程式重現這種行為

此屬性不會區分 Unicode 軟連字號(U+00AD)與剛好位於行尾的普通連字號減號(U+002D),在這兩種情況下都會回報 True。如果你只想處理 U+00AD 的情況,請直接比對 Character[Index]

備註

範例

// Reconstruct words across line wraps, dropping soft hyphens
var
  I: Integer;
  S: WString;
begin
  S := '';
  for I := 0 to Pdf.CharacterCount - 1 do
    if not Pdf.CharacterIsHyphen[I] then
      S := S + Pdf.Character[I];
  Memo1.Text := S;
end;

另請參閱

Character, CharacterGenerated, CharacterCount, Text