USANDO IRONWORD

Como adicionar marca d'água a documentos do Word em C# usando IronWord

Curtis Chau
Curtis Chau
Updated: 28 de junho de 2026

Nas aplicações modernas, é crucial gerar documentos Word de forma rápida para diversos fins como cobrança, faturas, cartas, etc. O recurso de documento modelo do Microsoft Word oferece uma maneira poderosa de garantir consistência e eficiência. No entanto, preencher manualmente esses modelos pode ser demorado e sujeito a erros. É aí que entra IronWord da Iron Software - uma robusta biblioteca .NET projetada para automatizar o processo de preenchimento de modelos Word programaticamente. Neste artigo, iremos mostrar como usar IronWord para preencher um modelo de documento Word e fornecer um exemplo prático para ilustrar o processo.

Como Gerar um Documento Word Usando um Modelo Word em C#

  1. Crie um novo projeto no Microsoft Visual Studio.
  2. Instale IronWord através do gerenciador de pacotes NuGet.
  3. Crie um documento Modelo Word.
  4. Insira dados em um documento Word e salve como um novo arquivo.
  5. Adicione efeitos de texto ao documento Word gerado.

O que é IronWord?

IronWord é uma biblioteca .NET da Iron Software projetada para facilitar a criação, manipulação e gerenciamento de documentos Microsoft Word programaticamente. Ela permite que os desenvolvedores automatizem o processo de geração de documentos Word, facilitando a criação dinâmica de relatórios, faturas, cartas e outros tipos de documentos dentro de suas aplicações.

Principais Recursos do IronWord

1. C# Preencher Modelo de Word e Manipulação

IronWord permite o uso de modelos do Word para definir marcadores de posição em um documento modelo e substituí-los por dados reais em tempo de execução.

2. Manipulação de Texto

Você pode facilmente inserir, substituir ou excluir texto dentro de um documento Word.

3. Formatação

A biblioteca suporta várias opções de formatação, incluindo estilos de fonte, tamanhos, cores e alinhamento de parágrafos.

4. Tabelas e Imagens

IronWord permite inserir e manipular tabelas e imagens dentro de seus documentos.

5. Compatibilidade

Funciona perfeitamente com diferentes versões do Microsoft Word, garantindo compatibilidade e facilidade de uso.

Casos de uso

  • Geração de Relatórios: Gere automaticamente relatórios detalhados com dados dinâmicos.
  • Criação de Faturas: Crie faturas profissionais preenchendo os detalhes do cliente e da transação.
  • Gestão de Contratos: Automatize a criação de contratos com informações personalizadas.
  • Cartas e Avisos: Gere cartas e avisos personalizados para clientes ou funcionários.

O IronWord simplifica o trabalho com documentos Word em aplicações .NET, tornando-se uma ferramenta valiosa para desenvolvedores que desejam automatizar tarefas de geração e gestão de documentos.

Pré-requisitos

Um lembrete rápido para garantir que você tenha o seguinte antes de começarmos:

  • Visual Studio está instalado em sua máquina.
  • O último .NET Framework está instalado.

Passo 1: Crie um novo projeto no Microsoft Visual Studio.

Agora, vamos começar criando um novo projeto no Visual Studio.

Como Gerar um Documento Word Usando um Modelo Word em C#: Figura 1

Selecione o modelo de aplicação de console na tela abaixo.

Como Gerar um Documento Word Usando um Modelo Word em C#: Figura 2 - Selecionar Aplicativo de Console

Forneça o nome e a localização do projeto.

Como Gerar um Documento Word Usando um Modelo Word em C#: Figura 3 - Fornecer nome e localização

Selecione a versão do .NET, de preferência a mais recente com suporte, e clique em Criar.

Como Gerar um Documento Word Usando um Modelo Word em C#: Figura 4

Passo 2: Instale o Gerenciador de Pacotes NuGet do IronWord.

Instale o pacote NuGet do IronWord a partir do gerenciador de pacotes NuGet, conforme abaixo no Visual Studio.

Como Gerar um Documento Word Usando um Modelo Word em C#: Figura 5 - Procurar IronWord no Gerenciador de Pacotes do NuGet

Alternativamente, instale-o usando a CLI diretamente com o comando abaixo.

> dotnet add package IronWord --version 2024.9.1

Passo 3: Crie um documento modelo do Word.

Agora, gere um documento modelo do Word com uma ou duas páginas para ser usado durante o processo de geração do documento Word.

Dear {Name},

Thanks for purchasing {product}. We are happy to serve you always. Your application dated {Date} has been approved. The product comes with an expiry date of {expiryDate}. Renew the product on or before the expiry date.

Feel free to contact {phone} or {email} for further queries.

Address: {Address}

Thank you,

{Sender}
Text

Agora, salve o documento acima como Template.docx.

Passo 4: Inserindo dados em um documento Word e salvando como um novo arquivo.

using System;
using System.Collections.Generic;
using IronWord;

class Program
{
    static void Main()
    {
        // Set the license key for IronWord
        License.LicenseKey = "your key";

        // Define paths for the template and the output file
        string templatePath = "Template.docx";
        string outputPath = "FilledDocument.docx";

        // Create a new instance of the WordDocument class using the template path
        WordDocument doc = new WordDocument(templatePath);

        // Define a dictionary of placeholders and their replacements
        var replacements = new Dictionary<string, string>
        {
            { "{Name}", "John Doe" },
            { "{Date}", DateTime.Now.ToString("MMMM d, yyyy") },
            { "{Address}", "123 Iron Street, Iron Software" },
            { "{product}", "IronWord" },
            { "{Sender}", "IronSoftware" },
            { "{phone}", "+123 456789" },
            { "{email}", "sale@ironsoftware.com" },
            { "{expiryDate}", DateTime.Now.AddYears(1).ToString("MMMM d, yyyy") },
        };

        // Replace placeholders in the document with actual data
        foreach (var replacement in replacements)
        {
            doc.Texts.ForEach(x => x.Replace(replacement.Key, replacement.Value));
        }

        // Save the filled document
        doc.Save(outputPath);

        // Notify the user that the document has been saved successfully
        Console.WriteLine("Document filled and saved successfully.");
    }
}

Explicação

O código fornecido demonstra o uso da biblioteca IronWord para preencher um modelo de documento Word com dados específicos. Aqui está uma explicação concisa:

  1. Configuração da Licença: O código começa estabelecendo a chave de licença para o IronWord para ativar sua funcionalidade.
  2. Caminhos de Arquivo: Especifica os caminhos para o modelo Word (Template.docx) e o arquivo de saída (FilledDocument.docx).
  3. Criar Instância do Documento: Uma instância de WordDocument é criada usando a referência ao caminho do modelo.
  4. Definir Substituições: Um dicionário é criado onde as chaves representam os marcadores de posição no modelo, e os valores representam os dados a serem inseridos.
  5. Substituir Marcadores de Posição: Itera pelo dicionário, substituindo cada marcador de posição no documento com os dados correspondentes.
  6. Salvar Documento: Finalmente, o documento atualizado é salvo no caminho de saída especificado.
  7. Mensagem de Conclusão: Uma mensagem é impressa para confirmar que o documento foi preenchido e salvo com sucesso.

Saída

Como Gerar um Documento Word Usando um Modelo Word em C#: Figura 7 - Saída do Documento Word

Passo 5: Adicione efeitos de texto ao documento Word gerado.

IronWord também permite adicionar vários efeitos de texto, conforme mostrado na tabela abaixo.

No exemplo seguinte, adicionamos efeitos de texto à palavra "Iron Software".

using System;
using System.Collections.Generic;
using IronWord;
using IronWord.Models;

class Program
{
    static void Main()
    {
        // Set the license key for IronWord
        License.LicenseKey = "your key";

        // Define paths for the template and the output file
        string templatePath = "Template.docx";
        string outputPath = "glowEffect.docx";

        // Create a new instance of the WordDocument class
        WordDocument doc = new WordDocument(templatePath);

        // Define a dictionary of placeholders and their replacements
        var replacements = new Dictionary<string, string>
        {
            { "{Name}", "John Doe" },
            { "{Date}", DateTime.Now.ToString("MMMM d, yyyy") },
            { "{Address}", "123 Iron Street, Iron Software" },
            { "{product}", "IronWord" },
            { "{Sender}", "Sale," },
            { "{phone}", "+123 456789" },
            { "{email}", "sale@ironsoftware.com" },
            { "{expiryDate}", DateTime.Now.AddYears(1).ToString("MMMM d, yyyy") },
        };

        // Replace placeholders in the document with actual data
        foreach (var replacement in replacements)
        {
            doc.Texts.ForEach(x => x.Replace(replacement.Key, replacement.Value));
        }

        // Create and configure text style methods with a glow effect
        TextStyle textStyle = new TextStyle
        {
            TextEffect = new TextEffect()
            {
                GlowEffect = new Glow()
                {
                    GlowColor = IronWord.Models.Color.Aqua,
                    GlowRadius = 10,
                },
            }
        };

        // Add styled text to the document
        doc.AddText(" IronSoftware").Style = textStyle;

        // Save the document with the glow effect
        doc.SaveAs(outputPath);

        // Notify the user that the document has been saved successfully
        Console.WriteLine("Styled document saved successfully.");
    }
}

Explicação

O código revisado ilustra o uso da biblioteca IronWord para preencher um modelo de documento Word, estilizar texto e salvar o documento modificado. Aqui está uma explicação concisa:

  1. Configuração da Licença: Estabelece a chave de licença do IronWord para habilitar a funcionalidade.
  2. Caminhos de Arquivo: Especifica os caminhos para o modelo (Template.docx) e o arquivo de saída (glowEffect.docx).
  3. Criar Instância do Documento: Inicializa uma instância WordDocument usando o caminho do modelo fornecido.
  4. Definir Substituições: Cria um dicionário de marcadores de posição e seus valores de substituição correspondentes.
  5. Substituir Marcadores de Posição: Itera pelo dicionário, substituindo marcadores de posição no documento com dados reais.
  6. Configurar Estilo de Texto: Define um estilo de texto com efeito de brilho, especificando cor e raio.
  7. Adicionar Texto Estilizado: Adiciona texto com o estilo configurado ao documento.
  8. Salvar Documento: Salva o documento atualizado com um novo nome (glowEffect.docx), refletindo o estilo de texto aplicado.
  9. Saída do Console: Uma mensagem é impressa para confirmar que o documento estilizado foi salvo.

Saída

Como Gerar um Documento Word Usando um Modelo Word em C#: Figura 8 - Exemplo de Saída Word

Licenciamento do IronWord

IronWord . Uma vez que os dados são inseridos, a licença é enviada para o ID de email fornecido. Essa licença precisa ser colocada no início do código, antes de usar a biblioteca IronWord, como abaixo.

License.LicenseKey = "your Key Here";

Conclusão

IronWord oferece várias vantagens para a geração de documentos Word usando modelos. Simplifica a automação da criação de documentos, permitindo que os desenvolvedores preencham modelos programaticamente com dados específicos, reduzindo a necessidade de entrada manual. Isso aumenta a eficiência e precisão, uma vez que o risco de erro humano é minimizado. Além disso, IronWord ajuda a manter a consistência entre os documentos, garantindo que cada arquivo gerado siga o mesmo formato e estrutura. Automatizar tarefas repetitivas economiza tempo e recursos, tornando-o ideal para produzir rapidamente grandes volumes de documentos. IronWord aumenta a produtividade e simplifica os fluxos de trabalho em cenários que exigem geração frequente ou complexa de documentos.

Seguindo os passos descritos neste artigo e aproveitando o exemplo fornecido com IronWord, você pode gerenciar eficientemente suas necessidades de geração de documentos e agilizar seu fluxo de trabalho.

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

Leia mais

Artigos relacionados