PDFium Component Docs

CharacterGenerated eigenschap

Component: TPdf  ·  Unit: PDFium
Geeft True wanneer het teken op de opgegeven index tijdens tekstextractie door PDFium is gesynthetiseerd in plaats van expliciet door de pagina-inhoudsstroom te zijn getekend. Synthetische tekens worden uitgevoerd voor ligatuuruitbreiding, zacht afbreken en woord-/regelgrensheuristieken, zodat zoek- en selecteer-alles-resultaten natuurlijk lezen

Syntax

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

IndexOp nul gebaseerde tekenindex op de huidige pagina, in het bereik 0 tot en met CharacterCount - 1.

Description

CharacterGenerated geeft True terug wanneer het teken op de opgegeven index intern door PDFium is gegenereerd in plaats van aanwezig te zijn in de oorspronkelijke inhoudsstroom. Typische voorbeelden zijn: ligatuurontleding (een fi-ligatuurglyph splitsen in f + i), de afsluitende spatie die PDFium invoegt tussen aangrenzende tekstruns die visueel zijn gescheiden, en de regeleindetekens die aan het einde van elke visuele regel worden ingevoegd.

Gegenereerde tekens hebben geen eigen tekening in de pagina-inhoudsstroom, dus hun begrenzende vakken worden afgeleid van naburige glyphs. Behandel hun positie op de pagina met voorzichtigheid wanneer u pixelnauwkeurige hit-testing nodig hebt; hun CharacterRectangle kan samenvallen tot een regio met nulbreedte of nulhoogte.

Voor taken zoals exacte verbatim-extractie (digitale handtekeningen, hash-van-tekst-workflows, ASCII-true-vergelijking met de pagina-inhoudsstroom) filtert u eerst gegenereerde tekens uit. Voor normaal tekstzoeken en klembordkopiĆ«ren is de flag puur informatief — PDFium heeft de tekens al ingevoegd omdat gebruikers ze verwachten.

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