property CharacterIsHyphen[Index: Integer]: Boolean; // read only
| Index | Nollbaserat teckenindex på den aktuella sidan, i intervallet 0 till CharacterCount - 1 |
CharacterIsHyphen returnerar True när PDFium klassificerar
tecknet vid Index som ett mjukt (radbrytande) bindestreck i stället för ett vanligt
bindestreck som hör till ett sammansatt ord. Klassificeringen är heuristisk: den tittar på
tecknets Unicode-kodpunkt, positionen vid radslutet och närheten till det följande
textavsnittet för att avgöra om bindestrecket ska behållas när rader fogas samman
Mjuka bindestreck infogas av typsättningsmotorer (LaTeX, Word, InDesign) för att dela
långa ord över rader. När du kopierar text från en PDF-visare kastas det mjuka bindestrecket
normalt bort så att "high-
way" klistras in som highway i stället för som
high-way. Egenskapen låter din egen extraheringskod återskapa det
beteendet
Egenskapen skiljer inte på Unicode-tecknet mjukt bindestreck (U+00AD) och
ett vanligt bindestreck-minus (U+002D) som råkar ligga vid ett radslut — båda
rapporterar True i de situationerna. Om du bara vill ha fallet
U+00AD, jämför Character[Index]
direkt
False; samma bindestreck vid radslut rapporterar True
// 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;