PDFium Component Docs

CharacterMapError eigenschap

Component: TPdf  ·  Unit: PDFium
Geeft True wanneer het teken op de opgegeven index niet aan een geldig Unicode-codepunt kon worden gekoppeld. De flag wordt per teken door de PDFium-tekstextractor gerapporteerd en laat aanroepers codepunten identificeren die waarschijnlijk onjuist zijn omdat het oorspronkelijke lettertype geen bruikbare ToUnicode-CMap of encoderingsvector heeft

Syntax

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

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

Description

CharacterMapError geeft True terug wanneer PDFium een fout ondervond bij het koppelen van het teken op de opgegeven index aan een Unicode-codepunt. Wanneer dit True is, is de waarde die door Character[Index] wordt teruggegeven onbetrouwbaar en valt deze vaak terug op een vervangend teken (#$FFFD) of op een doorvoer van de onderliggende glyph-identificatie.

De flag wordt meestal gegeven op PDF's die zijn geproduceerd door printerstuurprogramma's en conversiehulpmiddelen die lettertypesubsets insluiten zonder een bijbehorende ToUnicode-CMap, of met een CMap die niet de volledige glyph-set dekt. Gescande PDF's met ingesloten OCR-tekst en PDF's die aangepaste encoderingsvectoren gebruiken, zijn typische bronnen van koppelingsfouten.

Aanroepers die tekst van een PDF moeten round-trippen filteren of annoteren CharacterMapError-treffers voordat ze als doorzoekbare inhoud worden behandeld. Een cluster van opeenvolgende koppelingsfouten wijst meestal op een volledige tekenreeks-run die via OCR opnieuw moet worden geëxtraheerd in plaats van via de tekstlaag.

Remarks

Example

var
  I, BadCount: Integer;
begin
  BadCount := 0;
  for I := 0 to Pdf.CharacterCount - 1 do
    if Pdf.CharacterMapError[I] then
    begin
      Memo1.Lines.Add(Format('Map error at %d (charcode $%x)',
        [I, Pdf.Charcode[I]]));
      Inc(BadCount);
    end;
  Caption := Format('%d untranslatable characters on page', [BadCount]);
end;

See Also

Character, Charcode, CharacterGenerated, CharacterCount, Text