PDFium Delphi Component Docs

FontBaseName Eigenschaft

Komponente: TPdf  ·  Unit: PDFium
Liefert den PostScript-Basisnamen (den /BaseFont-Eintrag aus dem PDF-Font-Wörterbuch) der von einem Seitenobjekt verwendeten Schrift, einschließlich eines eventuellen Stilsuffixes wie -Bold oder ,Italic

Syntax

property FontBaseName[Index: Integer]: WString; // read only

Description

FontBaseName liefert den PostScript-Basisnamen der Schrift so, wie er im PDF-Font-Dictionary steht — also den Wert des /BaseFont-Keys (PDF 1.7 section 9.6 / 9.7). Bei eingebetteten Subset-Fonts erhält PDFium das sechsbuchstabige Präfix bei (etwa ABCDEF+Helvetica-Bold), sodass der Wert eine getreue Kopie dessen bleibt, was der Produzent geschrieben hat. Für einen bereinigten, lesbaren Familiennamen verwenden Sie FontFamilyName

Der Indexer ist der 0-basierte Seitenobjekt-Index (0..ObjectCount - 1). Nur Textobjekte liefern ein nicht leeres Ergebnis; Nicht-Text-Objekte geben eine leere Zeichenkette zurück. Beim Lesen der Eigenschaft muss eine Seite aktiv sein

Der Basisname ist der zuverlässigste Bezeichner für den exakt verwendeten Schriftschnitt, weil er Familie und Stil in einem Token bündelt. Zwei Textläufe dürfen sich FontFamilyName = Helvetica teilen, sich hier aber als Helvetica vs Helvetica-Bold vs Helvetica-Oblique unterscheiden

Parameters

Index0-basierter Seitenobjekt-Index im Bereich 0..ObjectCount - 1

Remarks

Example

var
  I: Integer;
  Base: WString;
begin
  Pdf1.PageNumber := 1;
  for I := 0 to Pdf1.ObjectCount - 1 do
  begin
    Base := Pdf1.FontBaseName[I];
    if (Base <> '') and (Pos('Bold', Base) > 0) then
      Memo1.Lines.Add(Format('Object %d uses %s', [I, Base]));
  end;
end;

See Also

FontFamilyName, FontIsEmbedded, FontWeight, FontData, FontHandle