Esqueça de discutir o conteúdo e o feedback dos documentos em longos tópicos de e-mail. Basta usar anotações para marcar documentos com mensagens e respostas. Neste artigo, você aprenderá como adicionar e remover anotações programaticamente para marcar documentos do Word em C# com seus aplicativos .NET.

A seguir estão os tópicos discutidos brevemente abaixo:

API .NET para anotar e marcar arquivos do Word

GroupDocs.Annotation fornece a API .NET para trabalhar com as anotações para seus documentos e imagens em seus aplicativos .NET. A API permite adicionar, remover e extrair anotações de documentos do Word. Além disso, ele suporta planilhas, apresentações, imagens, arquivos PDF, páginas da Web, mensagens de e-mail, desenhos do Visio. Alguns desenhos do AutoCAD e formatos de imagem digital como DICOM também estão na lista. Para obter a lista completa de formatos de documento suportados para anotação, você pode visitar a documentação.

Baixe o instalador DLLs ou MSI da seção de downloads ou instale a API em seu aplicativo .NET via NuGet. Você também pode usar o seguinte comando do Gerenciador de Pacotes.

PM> Install-Package GroupDocs.Annotation

Adicionar anotações ao Word em C#

Vamos adicionar alguns dos diferentes tipos de anotações aos documentos do Word. Existem muitos tipos diferentes de anotação, portanto, abordaremos apenas alguns neste artigo.

Adicionar anotações ao DOC DOCX usando a API GroupDocs

Existem alguns dos tipos de anotação suportados, você pode saber sobre cada anotação individualmente.

  • Anotação de área / retângulo
  • Flecha
  • Sublinhado
  • Marca d’água
  • Distância
  • Greve
  • Campo de texto
  • Elipse
  • Realçar
  • Link
  • Ponto
  • Polilinha
  • Substituição
  • Redação de recursos
  • Redação de texto

Adicionar anotação de seta ao Word usando C

A seguir estão as etapas para adicionar anotação de seta a um documento do Word em C#.

Adicionar anotação de seta programaticamente em Java e .NET
  • Carregue o documento usando a classe Annotator.
  • Inicialize a anotação de seta com a classe ArrowAnnotation.
  • Ajuste a posição, tamanho, número de página da anotação de seta.
  • Adicione a anotação de seta criada usando o método Add.
  • Salve o documento do Word anotado no caminho usando o método Save.

O exemplo de código a seguir mostra como adicionar uma anotação de seta a um documento do Word usando C#.

// Adicionar anotação de seta a documentos do Word usando C#
using (Annotator annotator = new Annotator("path/document.docx"))
{
    ArrowAnnotation arrow = new ArrowAnnotation
    {
        Box = new Rectangle(100, 100, 50, 50),
        CreatedOn = DateTime.Now,
        Message = "Your Message",
        Opacity = 0.7,
        PageNumber = 0,
        PenColor = -3407872,
        PenStyle = PenStyle.Solid,
        PenWidth = 2
    };
    annotator.Add(arrow);
    annotator.Save("path/annotation.docx");
}

Inserir anotação de retângulo ou área no Word usando C

As personalizações podem ser feitas para qualquer anotação ao adicioná-la ao documento. A seguir estão as etapas para adicionar anotação de retângulo ou área a um documento DOC/DOCX com algumas personalizações. É muito semelhante a adicionar anotações de seta, mas usa a classe AreaAnnotation desta vez.

  • Carregue o documento DOC/DOCX usando a classe Annotator.
  • Inicialize a anotação do retângulo usando a classe AreaAnnotation.
  • Ajuste a posição, tamanho e cor do retângulo.
  • Defina outras propriedades, como número da página, plano de fundo, opacidade, estilo, largura da caneta, mensagens e hora.
  • Adicione a anotação de retângulo criada ao Anotador.
  • Salve o arquivo anotado no caminho usando o método Save.
Adicionar anotação de retângulo ou área programaticamente em .NET e Java

O exemplo de código a seguir mostra como adicionar anotação de retângulo/área a um documento do Word usando C#.

// Adicionar anotação de área ou retângulo em documentos do Word usando C#
using (Annotator annotator = new Annotator("path/document.docx"))
{
    AreaAnnotation area = new AreaAnnotation
    {
        BackgroundColor = 65535,
        Box = new Rectangle(80, 75, 450, 135),
        Message = "This is area annotation",
        Opacity = 0.2,
        PageNumber = 0,
        PenColor = -131,
        PenStyle = PenStyle.Dash,
        PenWidth = 3
    };
    annotator.Add(area);
    annotator.Save("path/annotation.docx");
}

Adicionar anotação oval ou elipse ao Word usando C#

A seguir estão as etapas para adicionar anotação oval ou anotação de elipse a um documento em C#.

Adicionar elipses ou anotação oval programaticamente em C# .NET e Java
  • Carregue o documento DOC/DOCX usando a classe Annotator.
  • Inicialize a anotação de elipse usando a classe EllipseAnnotation.
  • Defina a posição e o tamanho da anotação de elipse inicializada.
  • Adicione a anotação de elipse criada ao objeto Annotator.
  • Forneça o caminho e salve o arquivo do Word anotado usando o método Save.

O exemplo de código a seguir mostra como adicionar anotação oval ou elipse a um documento do Word usando C#.

// Adicionar anotação oval ou elipse em documentos do Word usando C#
using (Annotator annotator = new Annotator("path/document.docx"))
{
    EllipseAnnotation ellipse = new EllipseAnnotation
    {
        BackgroundColor = -16034924,
        Box = new Rectangle(275, 475, 300, 80),
        Message = "This is ellipse annotation",
        Opacity = 0.2,
        PageNumber = 0,
        PenColor = -16034924,
        PenStyle = PenStyle.Dot,
        PenWidth = 3
    };
    annotator.Add(ellipse);
    annotator.Save("path/annotation.docx");
}

Inserir anotação de distância no Word usando C

Da mesma forma, você pode adicionar a anotação de distância para marcar a distância entre dois pontos. A seguir estão as etapas para adicionar anotação de distância ao documento.

Adicionar anotação de distância programaticamente em C# .NET e Java
  • Após carregar o documento do Word, inicialize a anotação de distância usando a classe DistanceAnnotation.
  • Defina a aparência da anotação.
  • Adicione a anotação de distância ao objeto Anotador.
  • Salve os arquivos do Word anotados no local determinado, especificando o caminho.

O exemplo de código a seguir mostra como adicionar anotação de distância a um documento DOC/DOCX usando C#.

// Adicionar anotação de distância a documentos do Word usando C#
using (Annotator annotator = new Annotator("path/document.docx"))
{
    DistanceAnnotation distance = new DistanceAnnotation
    {
        Box = new Rectangle(750, 235, 0, 150),
        Message = "This is the heading area",
        Opacity = 0.7,
        PageNumber = 0,
        PenColor = -21197,
        PenStyle = PenStyle.Solid,
        PenWidth = 3
    };
    annotator.Add(distance);
    annotator.Save("path/annotation.docx");
}

Código completo

Para resumir, aqui está o código completo com a saída mostrando todas as anotações e mensagens adicionadas com respostas. O código C# a seguir adiciona seta, retângulo, elipse, anotações de distância, mensagens e respostas a um arquivo do Word.

// Adicionar várias anotações ao Word usando C#
// Adicionando anotações de seta, área, oval (elipse), distância ao DOC/DOCX com mensagens e respostas usando C#
string outputPath = @"outputPath/annotatedDoc.docx";
string inputFile = @"inputPath/document.docx";

using (Annotator annotator = new Annotator(inputFile))
{
    ArrowAnnotation arrow = new ArrowAnnotation
    {
        Box = new Rectangle(550, 250, 60, -60),
        CreatedOn = DateTime.Now,
        Message = "This image is little upwards.",
        Opacity = 0.7,
        PageNumber = 0,
        PenColor = -3407872,
        PenStyle = PenStyle.Solid,
        PenWidth = 2,
        Replies = new List<Reply>
        {
            new Reply
            {
                Comment = "Please look in to these issues.",
                RepliedOn = DateTime.Now
            },
            new Reply
            {
                    Comment = "Change Description",
                RepliedOn = DateTime.Now
            },
            new Reply
            {
                Comment = "On-Premises APIs",
                RepliedOn = DateTime.Now
            },
            new Reply
            {
                Comment = "Add images as well.",
                RepliedOn = DateTime.Now
            }
        }
    };
    AreaAnnotation area = new AreaAnnotation
    {
        BackgroundColor = 65535,
        Box = new Rectangle(80, 75, 450, 135),
        Message = "This is area annotation",
        Opacity = 0.2,
        PageNumber = 0,
        PenColor = -131,
        PenStyle = PenStyle.Dash,
        PenWidth = 3
    };
    EllipseAnnotation ellipse = new EllipseAnnotation
    {
        BackgroundColor = -16034924,
        Box = new Rectangle(275, 475, 300, 80),
        Message = "This is ellipse annotation",
        Opacity = 0.2,
        PageNumber = 0,
        PenColor = -16034924,
        PenStyle = PenStyle.Dot,
        PenWidth = 3
    };
    DistanceAnnotation distance = new DistanceAnnotation
    {
        Box = new Rectangle(750, 235, 0, 150),
        Message = "This is the heading area",
        Opacity = 0.7,
        PageNumber = 0,
        PenColor = -21197,
        PenStyle = PenStyle.Solid,
        PenWidth = 3
    };
    annotator.Add(arrow);
    annotator.Add(area);
    annotator.Add(ellipse);
    annotator.Add(distance);

    annotator.Save(outputPath);
}

Remover anotações de arquivos Word DOC/DOCX usando C#

As anotações dos documentos podem ser removidas facilmente. Existem muitas opções para remover as anotações de um documento do Word. Você pode remover todas as anotações de uma vez. Além disso, você pode fornecer os índices para remover as anotações específicas. Para mais opções, visite o artigo documentação.

A seguir estão as etapas para remover todas as anotações de um arquivo do Word.

  • Carregue o documento.
  • Inicialize as opções de salvamento usando a classe SaveOptions.
  • Defina os tipos de anotação para Nenhum.
  • Salve o arquivo do Word. Não terá nenhuma anotação nele.

O código a seguir mostra como remover anotações de um arquivo do Word usando C#.

// Remova todas as anotações do documento do Word usando C#
using (Annotator annotator = new Annotator(outputPath))
{
    annotator.Save(remOutputPath, new SaveOptions {AnnotationTypes = AnnotationType.None});
}

Conclusão

Resumindo, você aprendeu como adicionar anotações a documentos do Word em aplicativos .NET usando C#. Especificamente, adicionamos anotações de seta, elipse, área e distância ao arquivo Word DOC/DOCX. Além disso, você também viu como remover todas as anotações de qualquer arquivo do Word. Agora, você pode pensar em construir seu próprio aplicativo .NET anotador de documentos.

Saiba mais sobre GroupDocs.Annotation para .NET na documentação e no repositório GitHub. Para mais dúvidas, entre em contato com o suporte no fórum.

Veja também