True) oder lediglich referenziert und zur Anzeigezeit vom Betriebssystem aufgelöst wird (False)property FontIsEmbedded[Index: Integer]: Boolean; // read only
FontIsEmbedded meldet, ob die Schrift, auf die das Text-Seitenobjekt am gegebenen Index verweist, ihr tatsächliches Glyphenprogramm in der PDF-Datei mitführt. Eine eingebettete Schrift reist mit dem Dokument und rendert auf jeder Plattform identisch; eine nicht eingebettete (nur referenzierte) Schrift verlässt sich darauf, dass der Viewer eine gleichnamige lokal installierte Schrift findet, und kann bei der Anzeige ersetzt werden
Der Indexer ist der 0-basierte Seitenobjekt-Index (0..ObjectCount - 1). Nicht-Text-Objekte liefern immer False. Bevor die Eigenschaft gelesen wird, muss eine Seite aktiv sein
Einbettung kann vollständig sein (jeder Glyphe der Quellschrift ist vorhanden) oder als Subset (nur die tatsächlich verwendeten Glyphen sind enthalten, mit sechsbuchstabigem Präfix am Basisnamen); beide Formen gelten hier als eingebettet. Für PDF/A-Konformität muss jede Schrift eingebettet sein — diese Eigenschaft ist ein schnelles Prüfwerkzeug genau dafür
| Index | 0-basierter Seitenobjekt-Index im Bereich 0..ObjectCount - 1 |
True-Rückgabe sagt nichts darüber, ob die Einbettung vollständig oder ein Subset ist — prüfen Sie FontBaseName auf ein ABCDEF+-Präfix, um ein Subset zu erkennenFontData liefert nur Daten, wenn die Schrift eingebettet istFalsevar
I, EmbeddedCount, TextCount: Integer;
begin
Pdf1.PageNumber := 1;
EmbeddedCount := 0;
TextCount := 0;
for I := 0 to Pdf1.ObjectCount - 1 do
if Pdf1.ObjectType[I] = otText then
begin
Inc(TextCount);
if Pdf1.FontIsEmbedded[I] then Inc(EmbeddedCount);
end;
ShowMessage(Format('%d of %d text objects use embedded fonts',
[EmbeddedCount, TextCount]));
end;