PurgeUnusedResources
Belge işleme, İyileştirme
Açıklama
Seçili sayfanın içerik katmanlarını ve geçişli kaynak bağımlılıklarını tarar, ardından geçerli kaynak kapsamında başvurulmayan adlandırılmış kaynakları kaldırır
Varsayılan seçenekler Form XObjects, döşeme desenleri, Type 3 glifleri, açıklama görünümleri ve yumuşak maske grupları içine yinelemeli olarak girer; görüntülerle diğer kaynakların başvurduğu renk uzaylarını korur, kullanım dışı /ProcSet dizileriyle boş kaynak kategorilerini kaldırır ve temizleme nedeniyle erişilemez olan dolaylı nesneleri toplar
Sözdizimi
Delphi
Function TPDFlib.PurgeUnusedResources(Const PageRange: WideString= '';
Options: Integer= PDF_RESOURCE_PURGE_DEFAULT): Integer; Overload;
Function TPDFlib.PurgeUnusedResources(Const PageRange: WideString;
Options: Integer; Out Stats: TPDFlibResourcePurgeStats): Integer; Overload;
Parametreler
| PageRange | Diğer sayfa aralığı API'leriyle aynı söz dizimini kullanan 1 tabanlı bir sayfa aralığı veya tüm sayfalar için boş bir dize |
|---|---|
| Options | Kaynak temizleme seçeneği sabitlerinin bit düzeyinde birleşimi |
| Stats | Tarama, güvenlik, kaldırma ve artık nesne sayaçlarını alır |
Seçenekler
| PDF_RESOURCE_PURGE_RECURSE_FORMS | Başvurulan Form XObjects öğelerini tarar ve bunların kendi veya devralınmış kaynak kapsamlarına uyar |
|---|---|
| PDF_RESOURCE_PURGE_REMOVE_PROCSET | Kullanımdan kaldırılmış /ProcSet dizilerini kaldırır |
| PDF_RESOURCE_PURGE_REMOVE_EMPTY | Boş kaynak kategorisi sözlüklerini kaldırır |
| PDF_RESOURCE_PURGE_AGGRESSIVE_UNKNOWN | Bir içerik akışı bilinmeyen bir işleç içerdiğinde temizlemeye olanak tanır |
| PDF_RESOURCE_PURGE_DRY_RUN | Belgeyi değiştirmeden kaldırılabilir adlandırılmış girdileri bildirir |
| PDF_RESOURCE_PURGE_GARBAGE_COLLECT | Canlı temizlemeden sonra erişilemez hâle gelen dolaylı nesneleri toplar |
| PDF_RESOURCE_PURGE_RECURSE_PATTERNS | Başvurulan döşeme desenlerinin içeriğini ve bağımsız kaynak kapsamını tarar |
| PDF_RESOURCE_PURGE_RECURSE_TYPE3 | Başvurulan Type 3 yazı tiplerindeki her CharProc akışını yazı tipi kaynak kapsamını kullanarak tarar |
| PDF_RESOURCE_PURGE_RECURSE_APPEARANCES | Normal, rollover, down ve adlandırılmış durum ek açıklama görünüm akışlarını tarar |
| PDF_RESOURCE_PURGE_RECURSE_SOFT_MASKS | ExtGState yumuşak maske sözlüklerinin başvurduğu saydamlık grubu akışlarını tarar |
| PDF_RESOURCE_PURGE_SCAN_IMAGE_DEPENDENCIES | İç içe bağımlılıklar için görüntü XObject öğelerini, açık maskeleri, yumuşak maske görüntülerini ve alternatif görüntüleri inceler |
| PDF_RESOURCE_PURGE_RECURSE_DEPENDENCIES | Pattern, Type 3, görünüm, yumuşak maske ve görüntü bağımlılığı analizini birleştirir |
| PDF_RESOURCE_PURGE_DEFAULT | Tüm bağımlılık analizini, Form özyinelemesini, ProcSet kaldırmayı, boş kategori kaldırmayı ve çöp toplamayı birleştirir |
Dönüş değerleri
| Live cleanup | Kaldırılan adlandırılmış kaynak girdilerinin sayısı |
|---|---|
| Dry run | Kaldırılabilecek adlandırılmış kaynak girdilerinin sayısı |
| 0 | Kaldırılabilir adlandırılmış girdi, seçili sayfa veya yüklenmiş belge yok |
Açıklamalar
Tarama, satır içi görüntü sözlüklerindeki özel renk alanları ve kaynak nesnelerinin taşıdığı dolaylı bağımlılıklar dahil Font, XObject, ExtGState, ColorSpace, Pattern, Shading ve Properties başvurularını tanır
Bağımlılık kapanışı görüntü ve gölgelendirme renk alanlarını, Indexed temellerini, Separation ve DeviceN alternatiflerini, Pattern temel alanlarını, ICCBased alternatiflerini, döşeme deseni içeriğini, tüm Type 3 CharProcs değerlerini, ek açıklama görünüm durumlarını, ExtGState yumuşak maske gruplarını, görüntü maskelerini, yumuşak maske görüntülerini ve alternatif görüntüleri kapsar
PDF adları büyük/küçük harfe duyarlı eşleştirilir ve seçilen her sayfanın tüm içerik katmanları temizleme öncesinde birleştirilir
PDF_RESOURCE_PURGE_AGGRESSIVE_UNKNOWN ayarlanmadıkça hatalı biçimlendirilmiş akışlar ve bilinmeyen işleçler, kaynak kapsamlarının tamamını korur
Paylaşılan ve devralınan kaynak sözlükleri değiştirilmeden önce kopyalanır; böylece temizleme seçilen sayfa, Form, desen, Type 3 yazı tipi, görünüm veya yumuşak maske grubuyla sınırlı kalır
Yinelenen akışlar ve bağımlılık girdileri önbelleğe alınmış ayrıştırma sonuçlarını yeniden kullanırken derinlik sınırları ve etkin akış izleme bozuk kaynak döngülerini sonlandırır
İptal Abort üzerinden, bir OnProgress işleyicisinden kullanılabilir
Örnek
var
Stats: TPDFlibResourcePurgeStats;
Removed: Integer;
begin
Removed:= PDF.PurgeUnusedResources('1-20',
PDF_RESOURCE_PURGE_DEFAULT, Stats);
PDF.SaveToFile('optimised.pdf');
end;
Ayrıca bkz
TPDFlibResourcePurgeStats, GarbageCollectObjects, OnProgress, Abort