PDFium Delphi Component Docs

CharacterGenerated Egenskap

Component: TPdf  ·  Unit: PDFium
Returnerar True när tecknet vid det angivna indexet syntetiserades av PDFium under textextraktion i stället för att ritas ut explicit av sidans innehållsström. Syntetiska tecken emitteras för ligaturupplösning, mjuka bindestreck och heuristik för ord-/radgränser så att sök- och markera-alla-resultat läses naturligt

Syntax

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

IndexNollbaserat teckenindex på den aktuella sidan, i intervallet 0 till CharacterCount - 1

Description

CharacterGenerated returnerar True när tecknet vid det angivna indexet genererades internt av PDFium i stället för att finnas i den ursprungliga innehållsströmmen. Typiska exempel är: ligaturuppdelning (att dela en fi-ligaturglyf i f + i), det avslutande blanksteg som PDFium infogar mellan intilliggande textavsnitt som är visuellt åtskilda, och radbrytningstecknen som injiceras i slutet av varje visuell rad

Genererade tecken har ingen egen ritning i sidans innehållsström, så deras begränsningsrutor härleds från grannglyferna. Behandla deras position på sidan med försiktighet om du behöver pixelexakt träfftestning; deras CharacterRectangle kan kollapsa till en region med noll bredd eller noll höjd

För uppgifter som exakt ordagrann extrahering (digitala signaturer, arbetsflöden med texthashning, ASCII-sann jämförelse med sidans innehållsström), filtrera bort genererade tecken först. För normal textsökning och urklippskopiering är flaggan rent informativ — PDFium har redan infogat tecknen eftersom användarna förväntar sig dem

Remarks

Example

// Build a verbatim string that contains only characters from the content stream
var
  I: Integer;
  S: WString;
begin
  S := '';
  for I := 0 to Pdf.CharacterCount - 1 do
    if not Pdf.CharacterGenerated[I] then
      S := S + Pdf.Character[I];
  Memo1.Text := S;
end;

See Also

Character, CharacterIsHyphen, CharacterMapError, CharacterRectangle, Text