PurgeUnusedResources

Manipulación de documentos, optimización

Descripción

Examina las capas de contenido de la página seleccionada y sus dependencias transitivas de recursos, y luego elimina los recursos nombrados que no se referencian en el ámbito de recursos aplicable

Las opciones predeterminadas recorren Form XObjects, patrones de mosaico, glifos Type 3, apariencias de anotaciones y grupos de máscara suave, conservan los espacios de color referenciados por imágenes y otros recursos, eliminan arreglos /ProcSet obsoletos y categorías de recursos vacías, y recopilan objetos indirectos que quedan inaccesibles tras la limpieza

Sintaxis

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;

Parámetros

PageRangeUn intervalo de páginas basado en 1 que usa la misma sintaxis que las demás API de intervalos de páginas, o una cadena vacía para todas las páginas
OptionsUna combinación bit a bit de las constantes de opciones para purgar recursos
StatsRecibe contadores de análisis, seguridad, eliminación y objetos huérfanos

Opciones

PDF_RESOURCE_PURGE_RECURSE_FORMSExamina los Form XObjects referenciados y respeta su ámbito de recursos propio o heredado
PDF_RESOURCE_PURGE_REMOVE_PROCSETElimina las matrices /ProcSet obsoletas
PDF_RESOURCE_PURGE_REMOVE_EMPTYElimina diccionarios vacíos de categorías de recursos
PDF_RESOURCE_PURGE_AGGRESSIVE_UNKNOWNPermite la limpieza cuando un flujo de contenido contiene un operador desconocido
PDF_RESOURCE_PURGE_DRY_RUNInforma las entradas con nombre que se pueden eliminar sin modificar el documento
PDF_RESOURCE_PURGE_GARBAGE_COLLECTRecopila objetos indirectos que quedaron inalcanzables después de la limpieza en vivo
PDF_RESOURCE_PURGE_RECURSE_PATTERNSExamina el contenido y el ámbito de recursos independiente de los patrones de mosaico referenciados
PDF_RESOURCE_PURGE_RECURSE_TYPE3Analiza cada secuencia CharProc en las fuentes Type 3 referenciadas mediante el ámbito de recursos de fuente
PDF_RESOURCE_PURGE_RECURSE_APPEARANCESExamina las secuencias de apariencia de anotaciones normales, de rollover, de pulsación y de estado con nombre
PDF_RESOURCE_PURGE_RECURSE_SOFT_MASKSExamina los flujos de grupos de transparencia a los que hacen referencia los diccionarios de máscaras suaves ExtGState
PDF_RESOURCE_PURGE_SCAN_IMAGE_DEPENDENCIESInspecciona XObjects de imagen, máscaras explícitas, imágenes de máscara suave e imágenes alternativas en busca de dependencias anidadas
PDF_RESOURCE_PURGE_RECURSE_DEPENDENCIESCombina el análisis de dependencias de patrones, Type 3, apariencia, máscaras suaves e imágenes
PDF_RESOURCE_PURGE_DEFAULTCombina todo el análisis de dependencias, la recursión de Form, la eliminación de ProcSet, la eliminación de categorías vacías y la recolección de basura

Valores devueltos

Live cleanupEl número de entradas de recursos con nombre eliminadas
Dry runEl número de entradas de recursos con nombre que se pueden eliminar
0No hay entradas con nombre que se puedan eliminar, no hay páginas seleccionadas o no hay un documento cargado

Observaciones

El análisis reconoce referencias Font, XObject, ExtGState, ColorSpace, Pattern, Shading y Properties, incluidos espacios de color personalizados en diccionarios de imágenes en línea y dependencias indirectas transportadas por objetos de recursos

El cierre de dependencias abarca espacios de color de imagen y sombreado, bases Indexed, alternativas Separation y DeviceN, espacios subyacentes Pattern, alternativas ICCBased, contenido de patrones de mosaico, todos los CharProcs Type 3, estados de apariencia de anotaciones, grupos de máscara suave ExtGState, máscaras de imagen, imágenes de máscara suave e imágenes alternativas

Los nombres PDF se comparan distinguiendo mayúsculas de minúsculas y todas las capas de contenido de cada página seleccionada se combinan antes de la limpieza

Los flujos malformados y los operadores desconocidos conservan todo su ámbito de recursos a menos que se establezca PDF_RESOURCE_PURGE_AGGRESSIVE_UNKNOWN

Los diccionarios de recursos compartidos y heredados se copian antes de modificarse, de modo que la limpieza permanece local a la página, Form, patrón, fuente Type 3, apariencia o grupo de máscara suave seleccionados

Los flujos y las entradas de dependencias repetidos reutilizan resultados de análisis almacenados en caché, mientras que los límites de profundidad y el seguimiento de flujos activos terminan los ciclos de recursos malformados

La cancelación está disponible mediante Abort desde un controlador OnProgress

Ejemplo

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

Véase también

TPDFlibResourcePurgeStats, GarbageCollectObjects, OnProgress, Abort