/BaseFont-Eintrag aus dem PDF-Font-Wörterbuch) der von einem Seitenobjekt verwendeten Schrift, einschließlich eines eventuellen Stilsuffixes wie -Bold oder ,Italicproperty FontBaseName[Index: Integer]: WString; // read only
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
| Index | 0-basierter Seitenobjekt-Index im Bereich 0..ObjectCount - 1 |
ABCDEF+) gehören zum Wert — entfernen Sie sie selbst, wenn Sie einen sauberen Namen brauchenHelvetica, Helvetica-Bold, Times-Roman, Times-Italic uswArial,Bold — nicht mit Bindestrich/BaseFont hatvar
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;