property CharacterGenerated[Index: Integer]: Boolean; // read only
| Index | Op nul gebaseerde tekenindex op de huidige pagina, in het bereik 0 tot en met CharacterCount - 1. |
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.
True-treffer; ga er niet van uit dat gegenereerde tekens altijd onzichtbare glyphs zijn.
// 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;