Ressourcen- und Bildoptimierung

HotPDF kann die Größe geladener Dokumente reduzieren, ohne die Semantik des Seiten-Grafikzustands zu ändern oder vererbte Ressourcen und Annotation-Erscheinungsbilder zu brechen

Konsolidierung von Inhalt und Ressourcen

Wiederholte Inline-Bilder können zu gemeinsamen Bild-XObjects werden, sobald die Schwellenwerte für Vorkommen und Nutzlast erreicht sind

Ungenutzte Seitenressourcennamen werden konservativ entfernt, nachdem Seiteninhalt, verschachtelte Form-XObjects und Annotation-Erscheinungsbildströme gescannt wurden

Kompatible Inhaltsströme von Seiten werden dekodiert, mit sicheren Token-Grenzen verbunden und zu einem einzigen Flate-Stream normalisiert

Form-XObjects und eingebettete Schriften werden aus kanonisch dekodiertem Inhalt und rekursiv kanonischen Ressourcengraphen dedupliziert, wobei kompatible Schrift-Unterpräfix-Normalisierung beim Vergleich normalisiert wird

Subsetting geladener Schriften

SubsetLoadedFonts verfolgt Zeichencodes durch Seiteninhalt, verschachtelte Form-XObjects und Annotation-Erscheinungsbildströme, löst jeden Code über die PDF-Schriftkodierung und die CID-Zuordnung auf und behält dann nur erreichbare Glyphenprogramme

Schriftwörterbücher, CID-Maps, Breiten und ToUnicode-Daten behalten ihre vorhandenen Kennungen, da TrueType-, CFF- und Type-1-Subsetting Glyphen-IDs oder Glyphennamen bewahrt; gemeinsame eingebettete Programme aggregieren die Nutzung aus jedem kompatiblen Schriftwörterbuch vor einem einzigen Rewrite

TrueType-Zusammengesetzte und COLR-v0/v1-Umrissabhängigkeiten werden rekursiv geschlossen, während Farb-, Bitmap-, Variations- und Shaping-Tabellen intakt bleiben; Type-1-PFB, gesplittete binäre und hexadezimale PFA-Programme bewahren verwendete CharStrings und ersetzen ungenutzte Einträge durch gültige endchar-Programme gleicher Länge

Die Operation überspringt ein ganzes Schriftprogramm, wenn ein verwendeter Code nicht zugeordnet werden kann, nimmt nur einen kleineren rohen oder Flate-Kandidaten an und verweigert standardmäßig signierte Dokumente, sodass Aufrufer explizit einer Ungültigkeitserklärung der Signatur zustimmen müssen

Bildrichtlinien

JPEG-Rekomprimierung wählt geeignete Farbräume, Ausgabequalität und minimale Byte-Ersparnis

Die JPEG-2000-Optimierung unterstützt verlustfreie und visuell verlustfreie Profile, optionale Kacheln und alle fünf Progressionsreihenfolgen über ein explizites, nicht deaktiviertes Profil

Die Rekomprimierung nach visuellen Kosten bewertet begrenzte JPEG- oder JPEG-2000-Qualitätstrials gegen die dekodierte Quelle, lehnt Kandidaten außerhalb der Grenzen für den Wahrnehmungsfehler oder die minimale Ersparnis ab und wählt mit deterministischem Tie-Breaking die niedrigste gewichtete Punktzahl aus visuellem Fehler und Byte-Kosten

JBIG2-Globaldaten werden nur geteilt, wenn die exakt dekodierten Globalsegment-Byte unter jbspExactGlobalsOnly übereinstimmen

Das Downsampling der effektiven DPI folgt den Seiten- und verschachtelten Form-Matrizen, dekodiert farbverwaltete Quellpixel und resampelt weiche Masken mit ihren zugehörigen Bildern

Die Bildumschreibung wandelt unterstützte ICCBased-, CalGray- und CalRGB-Eingaben in kalibriertes RGB um, während nicht unterstützte kalibrierte Eingaben unberührt bleiben, statt in Prozess-RGB konvertiert zu werden

DownsampleLoadedImages skaliert unterstützte 8-Bit-rohe, Flate-, LZW-, ASCII- und RunLength-Separation- oder DeviceN-Bilder direkt im Komponentenraum und bewahrt den exakten Farbraumgraph, die Tint-Transformation, die Colorants, die /Decode-Bereiche und die Überdrucksemantik

DCT-, JPX-, JBIG2- und CCITT-Spot-Bilder bleiben unverändert, wenn ihr Codec keine ursprünglichen Plattensamples offenlegen kann

Verwenden Sie Farbumschreibung geladener Seiten, wenn die gewünschte Ausgabe ein einheitlicher Gray-, RGB- oder CMYK-Prozessraum über Vektormalerei, Bilder, Muster, Schattierungen, Transparenz und ICC-Ressourcen ist

Adaptive Objekt-Streams

Das Packen von Objekt-Streams kann die Mitgliedsgröße, die Zielcontainer-Bytes und die Mitgliedsanzahl begrenzen, während es die Objektnummer-Lokalität bewahrt und schmutzige Objekte ausschließt, die sich wahrscheinlich erneut ändern

Das Aktivieren des adaptiven Packens fordert außerdem die erforderliche PDF-Version, den xref-Stream und einen vollständigen Rewrite an

Primäre APIs