Pro Edition
Font Tools
Auf einen Blick
Abschnitt betitelt „Auf einen Blick“NextPDF Pro untersucht eingebettete Schriftprogramme, identifiziert Subset-Schriften anhand ihrer standardisierten Namenskonvention und erzeugt einen strukturierten De-Subsetting-Plan mit einer geschätzten Größenauswirkung.
Verfügbarkeit & Lizenzierung
Abschnitt betitelt „Verfügbarkeit & Lizenzierung“Diese Funktion ist in NextPDF Pro (nextpdf/pro) enthalten und wird mit einem Lizenz-Envelope der Pro-Stufe aktiviert. Eine Bereitstellung ohne diese Berechtigung lädt die Klassen der Funktion nicht. Editionen vergleichen und Lizenz erwerben.
Kein funktionsspezifisches Lizenz-Flag schränkt dieses Modul ein. Die Font-Tools-Klassen sind verfügbar, sobald nextpdf/pro installiert ist.
Installation
Abschnitt betitelt „Installation“composer require nextpdf/pro:^3Konzeptioneller Überblick
Abschnitt betitelt „Konzeptioneller Überblick“Subset-Schriften in einem PDF betten nur die Glyphen ein, die das Dokument verwendet. Per Konvention trägt ihr /BaseFont-Name ein sechsbuchstabiges Großbuchstaben-Kürzel, gefolgt von +, zum Beispiel ABCDEF+Arial. NextPDF Pro:
- Erkennt Subsets.
FontDesubsetterdurchsucht rohe PDF-Daten nach/BaseFont-Einträgen, erkennt das Subset-Präfix-Muster und meldet jeden Eintrag alsSubsetInfo-Wertobjekt mit dem ursprünglichen Familiennamen, der Subset-Glyphenanzahl, der vollständigen Glyphenanzahl und der Kodierung. - Plant das De-Subsetting.
DesubsetPlansammelt die Subset-Schriften, die zur Ersetzung durch vollständige Schriftprogramme vorgesehen sind, und meldet eine geschätzte Byte-Größenzunahme, sodass Sie vor dem Handeln entscheiden können, ob das De-Subsetting die Dateigrößenkosten wert ist.
Font Tools ist eine Analyse- und Planungsschicht. Es beschreibt, was vorhanden ist und was das De-Subsetting kosten würde; es schreibt das Schriftprogramm nicht selbst um.
Warum es so funktioniert
Abschnitt betitelt „Warum es so funktioniert“Das Umschreiben eines eingebetteten Schriftprogramms ist der schwierige, riskante Teil. Glyphenkonturen, Hinting und cmap-Tabellen müssen konsistent bleiben, und ein einziger Fehler beschädigt die Darstellung. Deshalb trennt NextPDF Pro die günstige, sichere Arbeit — Bestandsaufnahme und Kostenprognose — von diesem teuren Umschreiben. Der Scanner liest ausschließlich Bytes; er parst oder führt niemals ein Schriftprogramm aus und bleibt so deterministisch und frei von Nebenwirkungen. Glyphenanzahlen und die Größendifferenz sind bewusst als Heuristiken gekennzeichnet, sodass eine Kapazitätsentscheidung ehrlich bleibt, statt einer Zahl zu vertrauen, die das Modul nicht messen kann. So können Sie abwägen, ob das De-Subsetting die Kosten wert ist, bevor Sie vollständige Schriftprogramme beschaffen.
Design-Hintergrund: Schriften: der schwierige Teil.
API-Oberfläche
Abschnitt betitelt „API-Oberfläche“| Klasse | Verantwortlichkeit |
|---|---|
FontDesubsetter | PDF-Daten durchsuchen und Subset-Schrift-Einträge melden. |
SubsetInfo | Unveränderliche Beschreibung eines erkannten Subsets. |
DesubsetPlan | Anvisierte Subsets plus geschätzte Größenzunahme. |
Codebeispiel — Schnellstart
Abschnitt betitelt „Codebeispiel — Schnellstart“use NextPDF\Pro\FontTools\FontDesubsetter;
$subsets = (new FontDesubsetter())->analyzeSubsets($pdfBytes);foreach ($subsets as $info) { echo $info->baseFont . ': ' . $info->subsetGlyphCount . " glyphs\n";}Codebeispiel — Produktion
Abschnitt betitelt „Codebeispiel — Produktion“use NextPDF\Pro\FontTools\FontDesubsetter;
$desubsetter = new FontDesubsetter();$subsets = $desubsetter->analyzeSubsets($pdfBytes);$logger->info('fonttools.scan', ['subset_count' => count($subsets)]);Randfälle & Fallstricke
Abschnitt betitelt „Randfälle & Fallstricke“- Der Scanner meldet einen
/BaseFontohne das sechsbuchstabige Präfix als Nicht-Subset-Eintrag, statt ihn zu überspringen. - Die geschätzte Größenzunahme ist eine Heuristik auf Basis durchschnittlicher Bytes je Glyph, kein gemessener Wert.
- Die Erkennung arbeitet auf der Byte-Darstellung der
/BaseFont-Einträge; verschlüsselte oder stark komprimierte Objekt-Streams müssen möglicherweise zuerst dekodiert werden.
Performance
Abschnitt betitelt „Performance“Das Subset-Scannen ist linear in der PDF-Bytelänge. Die Planung ist linear in der Anzahl der erkannten Subsets.
Sicherheitshinweise
Abschnitt betitelt „Sicherheitshinweise“Font Tools liest ausschließlich strukturelle Metadaten. Es führt keine Schriftprogramme aus und löst keine externen Schriftreferenzen auf.
Konformität
Abschnitt betitelt „Konformität“| Verhalten | Referenz | Status |
|---|---|---|
| Subset-Schrift-Namenskonvention | ISO 32000-2 §9.9.2 | Abgestimmt (paraphrasiert) |
Verhaltensvertrag
Abschnitt betitelt „Verhaltensvertrag“FontDesubsetter::analyzeSubsets()durchsucht rohe PDF-Daten nach/BaseFont-Einträgen, erkennt das Subset-Präfix aus sechs Großbuchstaben plus+und gibt jeden als unveränderlichesSubsetInfomit dem ursprünglichen Familiennamen, der Subset-Glyphenanzahl, der vollständigen Glyphenanzahl und der Kodierung zurück.- Ein
/BaseFontohne das Subset-Präfix wird als Nicht-Subset-Eintrag gemeldet, statt übersprungen zu werden. DesubsetPlansammelt die zur Ersetzung anvisierten Subsets und meldet eine geschätzte Byte-Größenzunahme auf Basis durchschnittlicher Bytes je Glyph — eine Heuristik, kein gemessener Wert.- Dies ist eine Analyse- und Planungsschicht. Es meldet, was vorhanden ist und was das De-Subsetting kosten würde; es schreibt das Schriftprogramm nicht um, führt keine Schriftprogramme aus und löst keine externen Schriftreferenzen auf.
Hinweis zur Enterprise-Abgrenzung
Abschnitt betitelt „Hinweis zur Enterprise-Abgrenzung“Enterprise ändert das Font-Tools-Verhalten nicht. Enterprise ergänzt Funktionen höherer Stufe, die separat dokumentiert sind; sie sind für die Subset-Erkennung oder De-Subset-Planung nicht erforderlich.
Core-Rückfalloption / Alternative
Abschnitt betitelt „Core-Rückfalloption / Alternative“Die Open-Source-Schrift-Pipeline von NextPDF Core übernimmt die grundlegende Schrift-Einbettung. Subset-Buchführung und De-Subset-Planung sind Pro-Ergänzungen. Siehe /modules/font/.
Veröffentlichungsgrenze
Abschnitt betitelt „Veröffentlichungsgrenze“Diese Seite dokumentiert ausschließlich extern beobachtbares Verhalten und die unterstützte öffentliche API-Oberfläche. Interne Namespace-Pfade, Helferklassen, Mechanismus-Tabellen, Runbook-Dateinamen und Ticket-Präfixe liegen außerhalb des Geltungsbereichs.
Siehe auch
Abschnitt betitelt „Siehe auch“- Font Tools — Deep Reference — API-Vertrag, Verhalten und Fehlermodi.
- Optimizer — Dateigrößen-Optimierung.
- Core font module — Open-Source-Schriftbehandlung.