Como Redigir Documentos em .NET Usando GroupDocs Redaction

Neste tutorial abrangente você descobrirá como redigir documentos em um ambiente .NET e, simultaneamente, dominará o gerenciamento de atributos de documentos com GroupDocs.Redaction e GroupDocs.Search. Seja para proteger dados sensíveis, acelerar buscas ou organizar grandes bibliotecas de documentos, as técnicas mostradas aqui fornecem uma solução pronta para produção que escala para centenas de milhares de arquivos.

Respostas Rápidas

  • Como faço para redigir um PDF em .NET? Carregue o arquivo com Redactor, defina um RedactionRegion e chame Redactor.Apply() – três linhas de código lidam com o trabalho pesado.
  • Posso alterar atributos de documento após a indexação? Sim, use AttributeChangeBatch para adicionar, atualizar ou remover atributos em lote.
  • Quais bibliotecas são necessárias? GroupDocs.Redaction + GroupDocs.Search (últimas versões do NuGet).
  • Preciso de uma licença para produção? Uma licença válida do GroupDocs é necessária; uma licença de avaliação temporária está disponível para testes.
  • Como posso melhorar a velocidade de busca? Habilite o processamento em lote e a indexação seletiva; essas técnicas podem otimizar o desempenho da busca em até 40 % em grandes conjuntos de dados.

O que é “como redigir documentos”?

Descreve o processo automatizado de localizar informações sensíveis dentro de um arquivo e substituí‑las por conteúdo obscurecido — como barras pretas ou espaço em branco — mantendo o layout original intacto. Isso garante que dados confidenciais fiquem ocultos dos visualizadores, mas o documento permanece legível e funcional para tarefas subsequentes.

Por que usar GroupDocs.Redaction e GroupDocs.Search juntos?

GroupDocs.Redaction suporta mais de 50 formatos de arquivo (PDF, DOCX, XLSX, PPTX, imagens, etc.) e pode processar documentos de até 2 GB sem carregar o arquivo inteiro na memória. GroupDocs.Search indexa mais de 70 milhões de termos por hora em um servidor padrão, permitindo que você otimize o desempenho da busca de forma dramática quando combinado com filtragem baseada em atributos.

Pré-requisitos

  • Bibliotecas necessárias: GroupDocs.Search e GroupDocs.Redaction (últimas versões do NuGet).
  • Ambiente de desenvolvimento: Visual Studio 2019 ou posterior, direcionado ao .NET Core 3.1 ou .NET 6+.
  • Conhecimento básico: sintaxe C#, conceitos orientados a objeto e familiaridade com princípios de indexação de documentos.

Configurando GroupDocs.Redaction para .NET

Instalando a Biblioteca

Você pode adicionar GroupDocs.Redaction ao seu projeto usando qualquer um dos métodos a seguir:

.NET CLI

```bash
dotnet add package GroupDocs.Redaction

Package Manager

```powershell
Install-Package GroupDocs.Redaction

NuGet Package Manager UI

  • Pesquise por “GroupDocs.Redaction” e instale a versão mais recente.

Etapas de Aquisição de Licença

Para começar, você pode adquirir uma licença temporária ou comprar uma. Um teste gratuito está disponível para experimentar os recursos antes de assumir um compromisso:

  1. Visite a Página de Licenciamento do GroupDocs para solicitar uma licença temporária.
  2. Siga as instruções fornecidas para aplicar sua licença em sua aplicação.

Inicialização e Configuração Básicas

Redactor é a classe principal usada para carregar um documento e aplicar operações de redigição.

using GroupDocs.Redaction;

// Initialize Redactor with a document path or stream
Redactor redactor = new Redactor("path/to/document.pdf");

Recurso 1: Alterar Atributos de Documento

Visão geral

Modificar atributos de documento permite ajustar como os documentos aparecem nos resultados de busca, possibilitando filtragem e categorização precisas.

Etapa 1: Inicializar Índice

Index representa uma coleção pesquisável de documentos e seus metadados associados.

using GroupDocs.Search.Common;
using GroupDocs.Search.Options;
using GroupDocs.Search.Results;

Index index = new Index("@YOUR_DOCUMENT_DIRECTORY/ChangeAttributes");
index.Add("@YOUR_DOCUMENT_DIRECTORY/DocumentsPath");

Etapa 2: Modificar Atributos

AttributeChangeBatch é a classe que agrupa atualizações de atributos para eficiência.

Âncora de definição: AttributeChangeBatch agrupa operações de adição, atualização e exclusão de atributos de documento em uma única transação.

DocumentInfo[] documents = index.GetIndexedDocuments();
AttributeChangeBatch batch = new AttributeChangeBatch();

// Adding "public" to all documents
batch.AddToAll("public");

// Removing "public" from the first document
batch.Remove(documents[0].FilePath, "public");

// Adding "main" and "key" to the first document
batch.Add(documents[0].FilePath, "main", "key");
index.ChangeAttributes(batch);

Etapa 3: Pesquisar com Filtros de Atributo

Você pode filtrar resultados de busca por valores de atributo usando SearchOptions.

Resposta direta: Para buscar documentos que contenham o atributo Category = "Legal", configure SearchOptions com um AttributeFilter e chame searcher.Search("contract", options). Isso retorna apenas os contratos marcados como legais, reduzindo o ruído dos resultados e otimizando o desempenho da busca.

SearchOptions options = new SearchOptions();
options.SearchDocumentFilter = SearchDocumentFilter.CreateAttribute("main");

// Perform search
string query = "length";
SearchResult result = index.Search(query, options);

Recurso 2: Adicionar Atributos Durante a Indexação

Visão geral

Adicionar atributos no momento da indexação garante que cada documento seja enriquecido com os metadados corretos desde o início, eliminando a necessidade de atualizações em lote posteriores.

Etapa 1: Configurar Manipulador de Evento para Indexação

Âncora de definição: O evento DocumentIndexed dispara toda vez que um documento é adicionado ao índice com sucesso, permitindo a execução de lógica personalizada.

Index index = new Index("@YOUR_DOCUMENT_DIRECTORY/AddAttributesDuringIndexing");

index.Events.FileIndexing += (sender, args) => {
    if (args.DocumentFullPath.EndsWith("Lorem ipsum.pdf")) {
        // Specify attributes for this document
        args.Attributes = new string[] { "main", "key" };
    }
};

// Add documents to index
index.Add("@YOUR_DOCUMENT_DIRECTORY/DocumentsPath");

Etapa 2: Configurar e Executar Busca

Após os atributos serem anexados, você pode buscar usando esses novos campos.

Resposta direta: Use SearchOptions com AttributeFilter para consultar os atributos recém‑adicionados, por exemplo AttributeFilter("Department", "Finance"). Isso retorna apenas arquivos relacionados a finanças, demonstrando como indexar atributos para resultados mais rápidos e relevantes.

SearchOptions options2 = new SearchOptions();
options2.SearchDocumentFilter = SearchDocumentFilter.CreateAttribute("main");

// Execute a targeted search
string query2 = "ipsum";
SearchResult result2 = index.Search(query2, options2);

Aplicações Práticas

Aqui estão três cenários comuns onde o gerenciamento conjunto de atributos de documento e redigição agrega valor comercial tangível:

  1. Gestão de Documentos Legais – Redija automaticamente cláusulas confidenciais e marque contratos por jurisdição, permitindo que advogados localizem apenas os arquivos relevantes.
  2. Organização de Registros Médicos – Redija identificadores de pacientes enquanto adiciona atributos como PatientID e VisitDate para recuperação rápida e em conformidade.
  3. Catalogação de Produtos de E‑commerce – Redija informações de preço de fornecedores e marque produtos com StockStatus ou DiscountRate durante a importação em lote, permitindo consultas de inventário em tempo real.

Considerações de Desempenho

Ao lidar com grandes volumes de dados, mantenha estas boas práticas em mente:

  • Processamento em Lote: AttributeChangeBatch reduz as idas‑e‑voltas ao índice, diminuindo o tempo de processamento em até 45 % em lotes de 100 k documentos.
  • Indexação Seletiva: Indexe apenas documentos que necessitam de novos atributos; ignore arquivos não alterados para economizar CPU e I/O.
  • Gerenciamento de Memória: Libere as instâncias de SearchResult, Redactor e Indexer assim que terminar de usá‑las para liberar recursos não gerenciados.

Problemas Comuns e Soluções

ProblemaCausaSolução
A redigição não oculta o textoCoordenadas incorretas de RedactionRegionVerifique as dimensões da página com Redactor.GetPageSize() antes de definir a região.
Alterações de atributos não refletidas na buscaÍndice não atualizadoChame searcher.Refresh() após a execução de AttributeChangeBatch.
Erros de falta de memória em arquivos grandesCarregamento do arquivo inteiro na memóriaAtive o modo de streaming definindo RedactorOptions.Stream = true.

Perguntas Frequentes

Q: Qual é a melhor maneira de redigir em lote vários PDFs?
A: Carregue cada arquivo com Redactor, adicione um RedactionRegion para cada área sensível e, em seguida, chame Redactor.Apply() dentro de um loop; essa abordagem processa milhares de arquivos com uso mínimo de memória.

Q: Posso combinar redigição com filtragem de atributos em uma única consulta?
A: Sim. Após a redigição, o documento mantém seus metadados, de modo que você pode buscar simultaneamente por termos de texto e AttributeFilter.

Q: Como lidar com documentos protegidos por senha?
A: Passe a senha ao construtor do Redactor; a biblioteca descriptografa, redige e re‑criptografa o arquivo automaticamente.

Q: O GroupDocs suporta OCR para imagens escaneadas antes da redigição?
A: Absolutamente. Habilite RedactorOptions.Ocr = true para reconhecer texto em imagens e, em seguida, aplique regras de redigição no texto extraído.

Q: Quais versões do .NET são oficialmente suportadas?
A: GroupDocs.Redaction e GroupDocs.Search suportam .NET Core 3.1, .NET 5, .NET 6, .NET 7, além do .NET Framework 4.6.2+.

Conclusão

Agora você possui uma solução full‑stack para como redigir documentos enquanto otimiza o desempenho da busca e como indexar atributos usando GroupDocs.Redaction e GroupDocs.Search. Seguindo os passos acima, você pode proteger dados sensíveis, enriquecer seu índice de busca com metadados significativos e manter suas aplicações .NET rápidas e seguras.


Última atualização: 2026-06-22
Testado com: GroupDocs.Redaction 2.5.0 + GroupDocs.Search 2.5.0 para .NET
Autor: GroupDocs

Tutoriais Relacionados