PurgeUnusedResources
Documentbewerking, Optimalisatie
Beschrijving
Scant de inhoudslagen van de geselecteerde pagina en hun transitieve resourceafhankelijkheden en verwijdert daarna benoemde resources waarnaar in het toepasselijke resourcebereik niet wordt verwezen
De standaardopties recurreren in Form XObjects, tiling patterns, Type 3-glyphs, annotatieappearances en soft-mask-groepen, behouden kleurruimten waarnaar afbeeldingen en andere resources verwijzen, verwijderen verouderde /ProcSet-arrays en lege resourcecategorieen en verzamelen indirecte objecten die door de opschoning onbereikbaar zijn geworden
Syntaxis
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;
Parameters
| PageRange | Een paginabereik beginnend bij 1 met dezelfde syntaxis als de andere paginabereik-API's, of een lege string voor elke pagina |
|---|---|
| Options | Een bitsgewijze combinatie van de constanten voor resourcepurge-opties |
| Stats | Ontvangt tellers voor scannen, veiligheid, verwijdering en weesobjecten |
Opties
| PDF_RESOURCE_PURGE_RECURSE_FORMS | Scant gerefereerde Form XObjects en respecteert hun eigen of overgeërfde resourcebereik |
|---|---|
| PDF_RESOURCE_PURGE_REMOVE_PROCSET | Verwijdert verouderde /ProcSet-arrays |
| PDF_RESOURCE_PURGE_REMOVE_EMPTY | Verwijdert lege resourcecategorie-woordenboeken |
| PDF_RESOURCE_PURGE_AGGRESSIVE_UNKNOWN | Staat opschoning toe wanneer een contentstream een onbekende operator bevat |
| PDF_RESOURCE_PURGE_DRY_RUN | Rapporteert verwijderbare benoemde ingangen zonder het document te muteren |
| PDF_RESOURCE_PURGE_GARBAGE_COLLECT | Verzamelt indirecte objecten die na live opschoning onbereikbaar zijn geworden |
| PDF_RESOURCE_PURGE_RECURSE_PATTERNS | Scant de inhoud en het onafhankelijke resourcebereik van gerefereerde tiling patterns |
| PDF_RESOURCE_PURGE_RECURSE_TYPE3 | Scant elke CharProc-stream in gerefereerde Type 3-fonts met het fontresourcebereik |
| PDF_RESOURCE_PURGE_RECURSE_APPEARANCES | Scant normale, rollover-, down- en named-state-annotatieappearance-streams |
| PDF_RESOURCE_PURGE_RECURSE_SOFT_MASKS | Scant transparantiegroepstreams waarnaar ExtGState-soft-mask-woordenboeken verwijzen |
| PDF_RESOURCE_PURGE_SCAN_IMAGE_DEPENDENCIES | Inspecteert image XObjects, expliciete maskers, soft-mask-afbeeldingen en alternatieve afbeeldingen op geneste afhankelijkheden |
| PDF_RESOURCE_PURGE_RECURSE_DEPENDENCIES | Combineert afhankelijkheidsanalyse van pattern, Type 3, appearance, soft-mask en afbeelding |
| PDF_RESOURCE_PURGE_DEFAULT | Combineert alle afhankelijkheidsanalyse, Form-recurrentie, ProcSet-verwijdering, verwijdering van lege categorieen en garbage collection |
Retourwaarden
| Live opschoning | Het aantal verwijderde benoemde resource-ingangen |
|---|---|
| Dry run | Het aantal benoemde resource-ingangen dat kan worden verwijderd |
| 0 | Geen verwijderbare benoemde ingangen, geen geselecteerde pagina's of geen geladen document |
Opmerkingen
De scan herkent Font-, XObject-, ExtGState-, ColorSpace-, Pattern-, Shading- en Properties-verwijzingen, inclusief aangepaste kleurruimten in woordenboeken van inline afbeeldingen en indirecte afhankelijkheden die resourceobjecten dragen
Afhankelijkheidssluiting omvat kleurruimten van afbeeldingen en shadings, Indexed-bases, Separation- en DeviceN-alternatieven, Pattern-onderliggende ruimten, ICCBased-alternatieven, tiling-pattern-inhoud, alle Type 3-CharProcs, annotatieappearance-toestanden, ExtGState-soft-mask-groepen, afbeeldingsmaskers, soft-mask-afbeeldingen en alternatieve afbeeldingen
PDF-namen worden hoofdlettergevoelig gematcht en alle inhoudslagen van elke geselecteerde pagina worden vóór de opschoning gecombineerd
Misvormde streams en onbekende operators behouden hun volledige resourcebereik tenzij PDF_RESOURCE_PURGE_AGGRESSIVE_UNKNOWN is gezet
Gedeelde en overgeërfde resourcewoordenboeken worden vóór mutatie gekopieerd zodat opschoning lokaal blijft bij de geselecteerde pagina, Form, pattern, Type 3-font, appearance of soft-mask-groep
Herhaalde streams en afhankelijkheidsingangen hergebruiken gecachte parseresultaten, terwijl dieptelimieten en actieve-streamtracking misvormde resourcecyclussen beeindigen
Annulering is beschikbaar via Abort vanuit een OnProgress-handler
Voorbeeld
var
Stats: TPDFlibResourcePurgeStats;
Removed: Integer;
begin
Removed:= PDF.PurgeUnusedResources('1-20',
PDF_RESOURCE_PURGE_DEFAULT, Stats);
PDF.SaveToFile('optimised.pdf');
end;
Zie ook
TPDFlibResourcePurgeStats, GarbageCollectObjects, OnProgress, Abort