property CharacterIsHyphen[Index: Integer]: Boolean; // read only
| Index | 当前页面上从 0 开始的字符索引,取值范围 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]
False;行尾的同一连字符报告 True
// 跨换行重建单词,丢弃软连字符
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;