Redaction

Redaction

Esta página cubre la eliminación permanente de contenido de una página PDF. Aspose.PDF FOSS para TypeScript ofrece dos flujos de trabajo de redacción: un flujo de dos fases marcar-luego-aplicar que revisas antes de confirmar, y un flujo inmediato de una sola llamada. Ambos están disponibles en Page para una sola página y en Document para todo el documento.


Marcado y aplicación de redacciones

Page.AddRedact() marca una región rectangular con una anotación /Redact — el contenido subyacente permanece intacto y aún se puede copiar-seleccionar. Nada se elimina realmente hasta que se ejecuta Page.ApplyRedactions(): reescribe de forma destructiva el flujo de contenido para cada marca /Redact en la página, pinta la superposición de cada marca (su relleno /IC y /OverlayText), elimina las marcas y devuelve el número de redacciones aplicadas. Las marcas añadidas después de que se llame a ApplyRedactions() permanecen sin aplicar.

page.AddRedact({
  rect: [220, 550, 460, 566],
  fill: [0, 0, 0],
  overlayText: '[REDACTED]',
  align: 'center',
  fontSize: 9,
  textColor: [1, 1, 1],
});

const applied = page.ApplyRedactions();
console.log('Redactions applied:', applied);

Redacción inmediata

Page.Redact() y Page.RedactText() combinan el marcado y la aplicación en una única llamada: eliminan realmente el texto e imágenes cubiertas, podan los recursos que la eliminación deja huérfanos, y pintan una caja de marcador opaca sobre cada región — sin paso ApplyRedactions() separado y sin nada que revisar primero. Page.Redact() recibe una lista explícita de regiones Rect; Page.RedactText() encuentra y redacta cada ocurrencia de una cadena de búsqueda o RegExp, de la misma manera que busca Page.SearchAnnotationText(). Ambos aceptan un objeto RedactOptions que controla el marcador color, si debe scrubMetadata, y si debe keepAnnotations que se superponga a una región redactada.

Debido a que eliminan el contenido inmediatamente sin paso de revisión, prefiere AddRedact() + ApplyRedactions() cuando una marca debe ser inspeccionable antes de confirmarse, y Redact() / RedactText() cuando las regiones o términos de búsqueda ya se saben que son seguros para eliminar.


Redactar un documento completo

Los mismos dos flujos de trabajo existen en Document, aplicados a todas las páginas a la vez: Document.MarkRedactText() marca cada aparición de un término de búsqueda en todas las páginas, Document.ApplyRedactions() aplica todas las marcas en el documento, y Document.Redact() / Document.RedactText() redactan inmediatamente las regiones de una sola página o un término de búsqueda en todo el documento, reflejando sus equivalentes Page.


Consejos y mejores prácticas

  • Utilice AddRedact() + ApplyRedactions() cuando una redacción deba ser revisable antes de que tenga efecto; utilice Redact() / RedactText() cuando las regiones ya estén confirmadas como seguras para eliminarse inmediatamente.
  • Añada todas las marcas AddRedact() de una página antes de invocar ApplyRedactions(); las marcas añadidas después no se incluyen en esa llamada y permanecen sin aplicar.
  • Pase scrubMetadata: true en RedactOptions / ApplyRedactionsOptions cuando el contenido redactado también pueda estar presente en los metadatos del documento (/Info o XMP).
  • RedactText() y MarkRedactText() buscan con las mismas reglas de coincidencia que SearchAnnotationText() / Search, por lo que una cadena de búsqueda que no coincida allí también fallará al redactar.

Problemas comunes

ProblemaCausaSolución
La marca de redacción no tiene efectoPage.ApplyRedactions() nunca se llamóLlame a Page.AddRedact() para cada marca primero, luego Page.ApplyRedactions() una vez
El contenido sigue recuperable después de una marcaLa marca usó AddRedact() (solo marca) sin una llamada posterior a ApplyRedactions()Llame a ApplyRedactions(), o use Redact() / RedactText() para la eliminación en una sola llamada
El texto redactado reaparece en los metadatos del documento extraídoscrubMetadata no se establecióPase { scrubMetadata: true } en el objeto de opciones
ApplyRedactions() devuelve 0No existían marcas /Redact en la página cuando se llamóConfirme que AddRedact() (o MarkRedactText()) se ejecutó primero y apuntó a la misma página

FAQ

¿Cuál es la diferencia entre AddRedact y Redact?

AddRedact() solo marca una región — el contenido sigue presente y seleccionable para copiar hasta que se ejecuta ApplyRedactions(). Redact() elimina el contenido en la misma llamada, sin un paso de aplicación separado.

¿Puedo redactar buscando texto en lugar de especificar coordenadas?

Sí. RedactText() encuentra y redacta inmediatamente cada aparición de una cadena de búsqueda o RegExp; MarkRedactText() hace lo mismo pero solo marca las coincidencias, dejándolas para una llamada posterior de ApplyRedactions().

¿La redacción funciona en todo el documento o solo una página a la vez?

Ambos. Page.Redact() / Page.ApplyRedactions() y sus hermanos operan en una página; Document.Redact() / Document.ApplyRedactions() y sus hermanos operan en todas las páginas.

¿Las anotaciones cercanas a una región redactada también se eliminan?

Solo si los dejas ser. Pasa keepAnnotations: true en el objeto de opciones para preservar las anotaciones que se superponen a una región redactada en lugar de eliminarlas junto con ella.


API Reference Resumen

Clase/MétodoDescripción
Page.AddRedact()Marcar una región rectangular con una anotación /Redact, sin eliminar el contenido todavía
Page.ApplyRedactions()Eliminar de forma destructiva cada región marcada en la página y devolver el recuento aplicado
Page.Redact()Eliminar inmediatamente el contenido en las regiones dadas, sin un paso de aplicación separado
Page.RedactText()Buscar y redactar inmediatamente cada aparición de una cadena de búsqueda o RegExp
Page.MarkRedactText()Buscar y marcar (sin aplicar) cada aparición de una cadena de búsqueda o RegExp
Document.ApplyRedactions()Aplicar cada marca /Redact en todo el documento
Document.Redact() / Document.RedactText()Redactar inmediatamente regiones en una página, o un término de búsqueda en todas las páginas
Document.MarkRedactText()Marcar cada aparición de un término de búsqueda en todas las páginas

Ver también

 Español