PurgeUnusedResources

Dokumentmanipulering, Optimering

Beskrivning

Genomsöker den valda sidans innehållslager och deras transitiva resursberoenden, och tar sedan bort namngivna resurser som inte refereras i tillämplig resursomfattning

Standardalternativen går rekursivt in i Form XObjects, tiling patterns, Type 3-glyfer, annoteringsappearances och soft mask-grupper, behåller färgrymder som bilder och andra resurser refererar, tar bort utfasade /ProcSet-arrayer och tomma resurskategorier och samlar indirekta objekt som städningen gjort onåbara

Syntax

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;

Parametrar

PageRangeEtt 1-baserat sidintervall med samma syntax som övriga page range-API:er, eller en tom sträng för alla sidor
OptionsEn bitvis kombination av konstanterna för resource purge-alternativen
StatsTar emot skannings-, säkerhets-, borttagnings- och föräldralöst objekt-räknare

Alternativ

PDF_RESOURCE_PURGE_RECURSE_FORMSGenomsöker refererade Form XObjects och respekterar deras egen eller ärvda resursomfattning
PDF_RESOURCE_PURGE_REMOVE_PROCSETRemoves deprecated /ProcSet arrays
PDF_RESOURCE_PURGE_REMOVE_EMPTYRemoves empty resource category dictionaries
PDF_RESOURCE_PURGE_AGGRESSIVE_UNKNOWNTillåter städning när en innehållsström innehåller en okänd operator
PDF_RESOURCE_PURGE_DRY_RUNRapporterar borttagningsbara namngivna poster utan att mutera dokumentet
PDF_RESOURCE_PURGE_GARBAGE_COLLECTSamlar indirekta objekt som gjorts onåbara efter levande städning
PDF_RESOURCE_PURGE_RECURSE_PATTERNSGenomsöker innehållet och den oberoende resursomfattningen hos refererade tiling patterns
PDF_RESOURCE_PURGE_RECURSE_TYPE3Genomsöker varje CharProc-ström i refererade Type 3-typsnitt med typsnittsresursens omfattning
PDF_RESOURCE_PURGE_RECURSE_APPEARANCESSkannar normal-, rollover-, down- och namngivna tillståndsutseendeströmmar för anteckningar
PDF_RESOURCE_PURGE_RECURSE_SOFT_MASKSScans transparency group streams referenced by ExtGState soft-mask dictionaries
PDF_RESOURCE_PURGE_SCAN_IMAGE_DEPENDENCIESGranskar bild-XObjects, explicita masker, soft-mask-bilder och alternativa bilder efter nästlade beroenden
PDF_RESOURCE_PURGE_RECURSE_DEPENDENCIESKombinerar analys av mönster-, Type 3-, utseende-, soft-mask- och bildberoenden
PDF_RESOURCE_PURGE_DEFAULTKombinerar all beroendeanalys, Form-rekursion, ProcSet-borttag, tomt kategori-borttag och skräpsamling

Returvärden

Live cleanupAntalet borttagna namngivna resursposter
Dry runAntalet namngivna resursposter som kan tas bort
0Inga borttagningsbara namngivna poster, inga valda sidor, eller inget inläst dokument

Anmärkningar

Genomsökningen känner igen Font-, XObject-, ExtGState-, ColorSpace-, Pattern-, Shading- och Properties-referenser, inklusive anpassade färgrymder i inline-bilddictionarys och indirekta beroenden som resursobjekt bär

Beroendeslutlighet täcker bild- och shading-färgrymder, Indexed-baser, Separation- och DeviceN-alternativ, Pattern-underliggande ytor, ICCBased-alternativ, innehåll i tiling patterns, alla Type 3 CharProcs, annoteringens utseendelägen, ExtGState soft mask-grupper, bildmasker, soft mask-bilder och alternativa bilder

PDF-namn matchas skiftlägeskänsligt och alla innehållslager på varje vald sida kombineras före städning

Felformade strömmar och okända operatorer bevarar sin fullständiga resursomfattning om inte PDF_RESOURCE_PURGE_AGGRESSIVE_UNKNOWN är satt

Delade och ärvda resursdictionarys kopieras före mutation så att städningen förblir lokal till den valda sidan, Form, mönster, Type 3-typsnitt, appearance eller soft mask-grupp

Upprepade strömmar och beroendeposter återanvänder cachade parsresultat, medan djupgränser och aktiv ström-spårning terminerar felformade resurscykler

Avbrott är tillgängligt via Abort från en OnProgress-hanterare

Exempel

var
  Stats: TPDFlibResourcePurgeStats;
  Removed: Integer;
begin
  Removed:= PDF.PurgeUnusedResources('1-20',
    PDF_RESOURCE_PURGE_DEFAULT, Stats);
  PDF.SaveToFile('optimised.pdf');
end;

Se även

TPDFlibResourcePurgeStats, GarbageCollectObjects, OnProgress, Abort