PurgeUnusedResources
Manipolazione dei documenti, ottimizzazione
Descrizione
Esamina livelli di contenuto e dipendenze transitive della pagina selezionata, poi rimuove risorse denominate non referenziate nell'ambito applicabile
Le opzioni predefinite attraversano ricorsivamente XObject Form, pattern a tasselli, glifi Type 3, aspetti delle annotazioni e gruppi di maschere morbide, conservano gli spazi colore a cui fanno riferimento immagini e altre risorse, rimuovono le matrici /ProcSet obsolete e le categorie di risorse vuote e raccolgono gli oggetti indiretti resi irraggiungibili dalla pulizia
Sintassi
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;
Parametri
| PageRange | Intervallo pagine con base 1 e sintassi delle altre API oppure stringa vuota per tutte le pagine |
|---|---|
| Options | Una combinazione bit per bit delle costanti di opzione per l'eliminazione delle risorse |
| Stats | Riceve i contatori di scansione, sicurezza, rimozione e oggetti orfani |
Opzioni
| PDF_RESOURCE_PURGE_RECURSE_FORMS | Analizza i Form XObject referenziati e rispetta il loro ambito delle risorse, proprio o ereditato |
|---|---|
| PDF_RESOURCE_PURGE_REMOVE_PROCSET | Rimuove gli array /ProcSet obsoleti |
| PDF_RESOURCE_PURGE_REMOVE_EMPTY | Rimuove i dizionari vuoti delle categorie di risorse |
| PDF_RESOURCE_PURGE_AGGRESSIVE_UNKNOWN | Consente la pulizia quando un flusso di contenuto contiene un operatore sconosciuto |
| PDF_RESOURCE_PURGE_DRY_RUN | Segnala le voci con nome rimovibili senza modificare il documento |
| PDF_RESOURCE_PURGE_GARBAGE_COLLECT | Raccoglie gli oggetti indiretti resi irraggiungibili dopo la pulizia attiva |
| PDF_RESOURCE_PURGE_RECURSE_PATTERNS | Analizza il contenuto e l'ambito indipendente delle risorse dei pattern affiancati referenziati |
| PDF_RESOURCE_PURGE_RECURSE_TYPE3 | Analizza ogni flusso CharProc nei font Type 3 referenziati usando l'ambito delle risorse del font |
| PDF_RESOURCE_PURGE_RECURSE_APPEARANCES | Analizza i flussi di aspetto normale, rollover, premuto e degli stati denominati delle annotazioni |
| PDF_RESOURCE_PURGE_RECURSE_SOFT_MASKS | Analizza i flussi dei gruppi di trasparenza referenziati dai dizionari di maschera morbida ExtGState |
| PDF_RESOURCE_PURGE_SCAN_IMAGE_DEPENDENCIES | Esamina XObject immagine, maschere esplicite, immagini soft-mask e alternative per dipendenze annidate |
| PDF_RESOURCE_PURGE_RECURSE_DEPENDENCIES | Combina l'analisi delle dipendenze di pattern, Type 3, aspetto, maschera morbida e immagine |
| PDF_RESOURCE_PURGE_DEFAULT | Combina analisi dipendenze, ricorsione Form, rimozione ProcSet e categorie vuote e garbage collection |
Valori restituiti
| Live cleanup | Il numero di voci delle risorse con nome rimosse |
|---|---|
| Dry run | Il numero di voci delle risorse con nome che è possibile rimuovere |
| 0 | Nessuna voce con nome rimovibile, nessuna pagina selezionata o nessun documento caricato |
Note
L'analisi riconosce riferimenti Font, XObject, ExtGState, ColorSpace, Pattern, Shading e Properties, inclusi spazi colore personalizzati nei dizionari delle immagini inline e dipendenze indirette delle risorse
La chiusura delle dipendenze comprende spazi colore di immagini e shading, basi Indexed, alternative Separation e DeviceN, spazi sottostanti Pattern, alternative ICCBased, contenuto dei pattern di tassellatura, tutti i CharProc Type 3, stati dell'aspetto delle annotazioni, gruppi soft mask ExtGState, maschere immagine, immagini soft mask e immagini alternative
I nomi PDF vengono confrontati distinguendo maiuscole e tutti i livelli selezionati vengono combinati prima della pulizia
Stream non validi e operatori sconosciuti conservano l'intero ambito risorse salvo impostazione di PDF_RESOURCE_PURGE_AGGRESSIVE_UNKNOWN
I dizionari risorse condivisi ed ereditati vengono copiati prima della modifica, mantenendo la pulizia locale a pagina, Form, motivo, Type 3, aspetto o maschera
Stream ripetuti e dipendenze riutilizzano risultati nella cache, mentre limiti di profondità e monitoraggio degli stream attivi terminano cicli di risorse non validi
L'annullamento è disponibile tramite Abort da un gestore OnProgress
Esempio
var
Stats: TPDFlibResourcePurgeStats;
Removed: Integer;
begin
Removed:= PDF.PurgeUnusedResources('1-20',
PDF_RESOURCE_PURGE_DEFAULT, Stats);
PDF.SaveToFile('optimised.pdf');
end;
Vedere anche
TPDFlibResourcePurgeStats, GarbageCollectObjects, OnProgress, Abort