Kaynak ve Görsel Optimizasyonu
HotPDF, sayfa graphics-state semantiğini değiştirmeden veya kalıtsal kaynaklarla annotation görünüşlerini bozmadan yüklenmiş belgenin boyutunu küçültebilir
İçerik ve kaynak konsolidasyonu
Tekrarlanan inline görseller, occurrence ve payload eşikleri karşılandıktan sonra paylaşılan image XObject'lere dönüşebilir
Kullanılmayan sayfa kaynak adları, sayfa içeriği, iç içe Form XObject'ler ve annotation appearance stream'leri tarandıktan sonra ihtiyatlı biçimde kaldırılır
Uyumlu sayfa content stream'leri decode edilir, güvenli token sınırlarıyla birleştirilir ve tek bir Flate stream'e normalleştirilir
Form XObject'ler ve gömülü yazı tipleri, kanonik decode edilmiş içerikten ve özyinelemeli kanonik kaynak graflarından deduplicate edilir; karşılaştırma sırasında uyumlu yazı tipi subset önekleri normalleştirilir
Yüklenmiş yazı tipi subsetting
SubsetLoadedFonts, karakter kodlarını sayfa içeriği, iç içe Form XObject'ler ve annotation appearance stream'leri boyunca izler, her kodu PDF font encoding'i ve CID eşlemesi üzerinden çözer, sonra yalnızca ulaşılabilir glyph programlarını tutar
Font sözlükleri, CID map'leri, genişlikler ve ToUnicode verisi mevcut tanımlayıcılarını korur; çünkü TrueType, CFF ve Type 1 subsetting glyph ID'lerini veya glyph adlarını korur; paylaşılan gömülü programlar tek bir yeniden yazmadan önce her uyumlu font sözlüğünden kullanımı biriktirir
TrueType composite ve COLR v0/v1 outline bağımlılıkları özyinelemeli olarak kapatılırken renk, bitmap, variation ve shaping tabloları olduğu gibi kalır; Type 1 PFB, bölünmüş binary ve hex PFA programları kullanılan CharString'leri korur ve kullanılmayan girdileri geçerli, eşit uzunlukta endchar programlarıyla değiştirir
İşlem, kullanılan herhangi bir kod eşlenemediğinde tüm font programını atlar, yalnızca daha küçük bir raw veya Flate adayını benimser ve imzalı belgeleri varsayılan olarak reddeder; böylece imza geçersizleşmesine çağıranın açıkça onay vermesi gerekir
Görsel politikaları
JPEG yeniden sıkıştırma, uygun renk uzaylarını, çıktı kalitesini ve minimum bayt tasarrufunu seçer
JPEG 2000 optimizasyonu, açıkça etkinleştirilmiş devre dışı olmayan bir profil üzerinden lossless ve görsel olarak lossless profilleri, opsiyonel tile'ları ve beş progression order'ın tamamını destekler
Görsel maliyetli yeniden sıkıştırma, sınırlı JPEG veya JPEG 2000 kalite denemelerini decode edilmiş kaynağa karşı değerlendirir, algısal hata veya minimum tasarruf sınırlarının dışındaki adayları reddeder ve deterministik eşitlik kırma ile en düşük ağırlıklı görsel hata ve bayt maliyeti skorunu seçer
JBIG2 global verisi, yalnızca decode edilmiş global segment baytları jbspExactGlobalsOnly altında tam olarak eşleştiğinde paylaşılır
Effective-DPI downsampling, sayfa ve iç içe Form matrislerini takip eder, renk yönetimli kaynak piksellerini decode eder ve soft mask'leri sahip oldukları görsellerle birlikte yeniden örnekler
Görsel yeniden yazma rengi, desteklenen ICCBased, CalGray ve CalRGB girdilerini kalibre edilmiş RGB'ye dönüştürür; desteklenmeyen kalibre girdiler ise process RGB'ye dönüştürülmek yerine olduğu gibi kalır
DownsampleLoadedImages, desteklenen 8-bit raw, Flate, LZW, ASCII ve RunLength Separation veya DeviceN görsellerini doğrudan component uzayında yeniden boyutlandırır; tam renk uzayı grafını, tint transform'u, colourant'ları, /Decode aralıklarını ve overprint semantiğini korur
DCT, JPX, JBIG2 ve CCITT spot görselleri, codec'leri özgün plate örneklerini açamadığında değişmeden kalır
İstenen çıktı, vektör boyama, görseller, pattern'ler, shading'ler, transparency ve ICC kaynakları genelinde tek tip bir Gray, RGB veya CMYK process uzayı gerektiğinde loaded-page colour rewrite özelliğini kullanın
Uyarlanır object stream'ler
Object-stream paketleme, nesne numarası yerelliğini korurken ve yeniden değişme olasılığı yüksek dirty nesneleri dışarıda bırakarak üye boyutunu, hedef kapsayıcı baytlarını ve üye sayısını sınırlayabilir
Uyarlanır paketlemeyi etkinleştirmek, ayrıca gerekli PDF sürümünü, xref stream'i ve tam yeniden yazmayı talep eder
Temel API'ler
THotPDF.ExternalizeRepeatedInlineImagesTHotPDF.RemoveUnusedLoadedPageResourcesTHotPDF.CoalesceLoadedPageContentStreamsTHotPDF.DeduplicateLoadedFormXObjectsTHotPDF.DeduplicateLoadedEmbeddedFontsTHotPDF.SubsetLoadedFontsTHotPDF.RecompressLoadedJPEGImagesTHotPDF.OptimizeLoadedJPEG2000ImagesTHotPDF.OptimizeLoadedImagesByVisualCostTHotPDF.ShareLoadedJBIG2GlobalsTHotPDF.DownsampleLoadedImagesTHotPDF.RewriteLoadedPageColorsTHotPDF.ConfigureAdaptiveObjectStreamPacking