Redaction

Redaction

Esta página cobre a remoção permanente de conteúdo de uma página PDF. Aspose.PDF FOSS para TypeScript oferece dois fluxos de redação: um fluxo de duas fases marcar-então-aplicar que você revisa antes de confirmar, e um fluxo imediato de chamada única. Ambos estão disponíveis em Page para uma única página e em Document para o documento inteiro.


Marcação e Aplicação de Redações

Page.AddRedact() marca uma região retangular com uma anotação /Redact — o conteúdo abaixo permanece intocado e ainda pode ser copiado-selecionado. Nada é realmente removido até que Page.ApplyRedactions() seja executado: ele reescreve destrutivamente o fluxo de conteúdo para cada marca /Redact na página, pinta a sobreposição de cada marca (seu /IC preenchimento e /OverlayText), remove as marcas e devolve o número de redações aplicadas. Marcas adicionadas após a chamada de ApplyRedactions() permanecem não aplicadas.

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);

Redação Imediata

Page.Redact() e Page.RedactText() combinam marcação e aplicação em uma única chamada: eles realmente removem texto e imagens cobertos, podam recursos que a remoção deixa órfãos e pintam uma caixa de marcador opaca sobre cada região — sem etapa ApplyRedactions() separada e nada a ser revisado primeiro. Page.Redact() recebe uma lista explícita de regiões Rect; Page.RedactText() encontra e reda todas as ocorrências de uma string de busca ou RegExp, da mesma forma que as buscas Page.SearchAnnotationText(). Ambos aceitam um objeto RedactOptions que controla o marcador color, se deve scrubMetadata, e se deve keepAnnotations que sobrepõem uma região redactada.

Como eles removem o conteúdo imediatamente sem etapa de revisão, prefira AddRedact() + ApplyRedactions() quando uma marca deve ser inspecionável antes de ser confirmada, e Redact() / RedactText() quando as regiões ou termos de busca já são conhecidos como seguros para remoção.


Redigindo um Documento Inteiro

Os mesmos dois fluxos de trabalho existem em Document, aplicados a todas as páginas de uma vez: Document.MarkRedactText() marca cada ocorrência de um termo de pesquisa em todas as páginas, Document.ApplyRedactions() aplica todas as marcas no documento, e Document.Redact() / Document.RedactText() censuram as regiões de uma única página ou um termo de pesquisa em todo o documento imediatamente, espelhando seus equivalentes Page.


Dicas e Melhores Práticas

  • Use AddRedact() + ApplyRedactions() quando uma censura deve ser revisável antes de entrar em vigor; use Redact() / RedactText() quando as regiões já estiverem confirmadas como seguras para remoção imediata.
  • Adicione todas as marcas AddRedact() de uma página antes de chamar ApplyRedactions() — marcas adicionadas depois não são incluídas nessa chamada e permanecem não aplicadas.
  • Passe scrubMetadata: true em RedactOptions / ApplyRedactionsOptions quando o conteúdo censurado também pode estar presente nos metadados do documento (/Info ou XMP).
  • RedactText() e MarkRedactText() pesquisam com as mesmas regras de correspondência de SearchAnnotationText() / Search, portanto uma string de pesquisa que não corresponda lá também falhará ao censurar.

Problemas Comuns

ProblemaCausaCorreção
A marca de redação não tem efeitoPage.ApplyRedactions() nunca foi chamadoChame Page.AddRedact() para cada marca primeiro, depois Page.ApplyRedactions() uma vez
O conteúdo ainda é recuperável após uma marcaA marca usou AddRedact() (somente marca) sem uma chamada subsequente de ApplyRedactions()Chame ApplyRedactions(), ou use Redact() / RedactText() para remoção em uma chamada
O texto censurado reaparece nos metadados do documento extraídoscrubMetadata não foi definidoPasse { scrubMetadata: true } no objeto de opções
ApplyRedactions() retorna 0Nenhuma marca de /Redact existia na página quando foi chamadaConfirme que AddRedact() (ou MarkRedactText()) foi executado primeiro e direcionou a mesma página

FAQ

Qual é a diferença entre AddRedact e Redact?

AddRedact() apenas marca uma região — o conteúdo ainda está presente e pode ser copiado até que ApplyRedactions() seja executado. Redact() remove o conteúdo na mesma chamada, sem uma etapa de aplicação separada.

Posso fazer a redação pesquisando texto em vez de especificar coordenadas?

Sim. RedactText() encontra e redige imediatamente cada ocorrência de uma string de pesquisa ou RegExp; MarkRedactText() faz o mesmo, mas apenas marca as correspondências, deixando-as para uma chamada posterior de ApplyRedactions().

A redação funciona em todo o documento ou apenas em uma página de cada vez?

Ambos. Page.Redact() / Page.ApplyRedactions() e seus irmãos operam em uma página; Document.Redact() / Document.ApplyRedactions() e seus irmãos operam em todas as páginas.

As anotações próximas a uma região redigida também são removidas?

Só se você os deixar como estão. Passe keepAnnotations: true no objeto de opções para preservar anotações que se sobrepõem a uma região censurada em vez de removê-las juntamente com ela.


API Reference Resumo

Classe/MétodoDescrição
Page.AddRedact()Marque uma região retangular com uma anotação /Redact, sem remover o conteúdo ainda
Page.ApplyRedactions()Remova de forma destrutiva todas as regiões marcadas na página e retorne a quantidade aplicada
Page.Redact()Remova imediatamente o conteúdo nas regiões especificadas, sem etapa de aplicação separada
Page.RedactText()Encontre e redacte imediatamente todas as ocorrências de uma string de busca ou RegExp
Page.MarkRedactText()Encontre e marque (sem aplicar) cada ocorrência de uma cadeia de busca ou RegExp
Document.ApplyRedactions()Aplique cada marca /Redact em todo o documento
Document.Redact() / Document.RedactText()Redija imediatamente regiões em uma página, ou um termo de busca em todas as páginas
Document.MarkRedactText()Marque cada ocorrência de um termo de busca em todas as páginas

Ver também

 Português