Ir para o conteúdo do rodapé
USANDO IRONWORD

Como criar documentos do Word sem o Office Interop em C#

Documentos Microsoft Word são amplamente utilizados para diversos propósitos, desde relatórios empresariais formais até cartas pessoais. Em C#, os desenvolvedores frequentemente precisam gerar documentos Microsoft Word programaticamente. Desenvolvedores de aplicativos Windows tradicionalmente usaram o Microsoft Office Interop para gerar e criar documentos Word usando C#.

No entanto, essa abordagem não é acessível para todos, e desenvolvedores podem ser encontrados usando um OS ou em uma máquina Linux onde a interface do Microsoft Office não está disponível. Nesses casos, os desenvolvedores devem explorar outras bibliotecas que possam trabalhar de forma independente em diferentes plataformas. Uma dessas bibliotecas poderosas para trabalhar programaticamente com arquivos Word é IronWord, da Iron Software.

IronWord oferece funcionalidades robustas para trabalhar com documentos Word em aplicações .NET e pode rodar em diferentes plataformas e imagens/contenedores de docker baseados em Linux. Com o IronWord, que possui uma API intuitiva para C#, VB.NET Word e Documentos Docx, não é necessário instalar o Microsoft Office, automação do Office ou Interop do Word para criar, editar e exportar arquivos de documentos Word. O IronWord suporta totalmente .NET 8, 7, 6, Framework, Core e Azure.

Este artigo explorará a criação de documentos Word em C# usando a biblioteca IronWord.

How to Create Word Documents Without Office Interop in C#

  1. Crie um novo projeto em C#.
  2. Instale a biblioteca IronWord.
  3. Crie um documento Word usando a biblioteca IronWord.
  4. Adicione conteúdo ao documento agora existente.
  5. Salve o documento Word criado.
  6. Abra e exiba o documento Word criado.

Pré-requisitos:

  1. Visual Studio: Certifique-se de ter o Visual Studio ou qualquer outro ambiente de desenvolvimento C# instalado.
  2. NuGet Package Manager: Certifique-se de que você pode usar o NuGet para gerenciar pacotes em seu projeto.

Passo 1: Crie um Novo Projeto C

Crie um novo aplicativo de console C# ou use um projeto existente onde você quer gerar o documento Word.

Selecione o modelo de aplicativo de console e clique em próximo.

Como criar documentos do Word sem Office Interop em C#: Figura 1 - Modelo de aplicativo de console para criar um novo projeto

Na próxima etapa, você pode fornecer os nomes da solução e do projeto.

Como criar documentos do Word sem Office Interop em C#: Figura 2 - Configurando o projeto com nome da solução e do projeto

Selecione a Versão do .NET e clique em 'Criar'.

Como criar documentos do Word sem Office Interop em C#: Figura 3 - Criando projeto com a versão correta do .NET

Passo 2: Instale a Biblioteca IronWord

Abra seu projeto C# e instale a biblioteca IronWord usando o Console do Gerenciador de Pacotes NuGet:

Install-Package IronWord -Version 2024.1.2

O pacote NuGet também pode ser instalado usando o Gerenciador de Pacotes do Visual Studio, conforme mostrado abaixo.

Como criar documentos do Word sem Office Interop em C#: Figura 4 - Instalando IronWord com o gerenciador de pacotes do VS

Passo 3: Crie e Salve um Documento Word usando a Biblioteca IronWord

Vamos começar com o simples exemplo de criar um documento Word usando a biblioteca IronWord. O código a seguir demonstra como criar um documento Word básico com um único parágrafo contendo o texto "Hello, World!"

using IronWord;
using IronWord.Models;

// Create a text run instance with "Hello, World!" content
TextRun textRun = new TextRun("Hello, World!");

// Create a paragraph and add the text run to it
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);

// Create a new Word document object with the paragraph
WordDocument doc = new WordDocument(paragraph);

// Save the document as a .docx file
doc.SaveAs("example.docx"); // Saves the file to disk with the name example.docx
using IronWord;
using IronWord.Models;

// Create a text run instance with "Hello, World!" content
TextRun textRun = new TextRun("Hello, World!");

// Create a paragraph and add the text run to it
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);

// Create a new Word document object with the paragraph
WordDocument doc = new WordDocument(paragraph);

// Save the document as a .docx file
doc.SaveAs("example.docx"); // Saves the file to disk with the name example.docx
$vbLabelText   $csharpLabel

Após executar o exemplo de código acima, o novo arquivo de documento, example.docx, é criado e a saída é conforme mostrado abaixo.

Como criar documentos do Word sem Office Interop em C#: Figura 5 - Documento do Word criado através do código acima.

Este é um exemplo fundamental de geração de um arquivo de documento Word usando IronWord. Para mais informações, você pode ler a Documentação.

Adicionar Parágrafos com Estilo a um Documento Word

Agora que sabemos como criar um documento Word simples usando IronWord, vamos adicionar parágrafos e texto com estilo.

TextRun também pode receber dados de estilo, melhorando a representação visual do texto. O texto pode ser definido com estilos como tachado, negrito, itálico e sublinhado.

Modifique e adicione o código abaixo ao programa que você criou anteriormente.

using IronWord;
using IronWord.Models;

// Create text runs with different styles
TextRun textRun = new TextRun("Hello, World!"); // Simple string
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);

// Configure and add italic text
TextRun introText = new TextRun("This is an example paragraph with italic and bold styling.");
TextStyle italicStyle = new TextStyle()
{
    IsItalic = true
};
TextRun italicText = new TextRun("Italic example sentence.", italicStyle);

// Configure and add bold text
TextStyle boldStyle = new TextStyle()
{
    IsBold = true
};
TextRun boldText = new TextRun("Bold example sentence.", boldStyle);

// Add text runs to the paragraph
paragraph.AddTextRun(introText);
paragraph.AddTextRun(italicText);
paragraph.AddTextRun(boldText);

// Create and save the new Word document
WordDocument doc = new WordDocument(paragraph);
doc.SaveAs("example.docx"); // Saves the file to disk with the name example.docx
using IronWord;
using IronWord.Models;

// Create text runs with different styles
TextRun textRun = new TextRun("Hello, World!"); // Simple string
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);

// Configure and add italic text
TextRun introText = new TextRun("This is an example paragraph with italic and bold styling.");
TextStyle italicStyle = new TextStyle()
{
    IsItalic = true
};
TextRun italicText = new TextRun("Italic example sentence.", italicStyle);

// Configure and add bold text
TextStyle boldStyle = new TextStyle()
{
    IsBold = true
};
TextRun boldText = new TextRun("Bold example sentence.", boldStyle);

// Add text runs to the paragraph
paragraph.AddTextRun(introText);
paragraph.AddTextRun(italicText);
paragraph.AddTextRun(boldText);

// Create and save the new Word document
WordDocument doc = new WordDocument(paragraph);
doc.SaveAs("example.docx"); // Saves the file to disk with the name example.docx
$vbLabelText   $csharpLabel

Adicionar uma Tabela a um Documento Word

Para uma representação clara dos dados, eles também podem ser representados em uma grade. Quando os dados são organizados como uma grade, é chamado de tabela. Usando IronWord, podemos adicionar tabelas e imagens ao documento Word, conforme mostrado abaixo:

using IronWord;
using IronWord.Models;

// Create a table cell with sample text
TableCell cell = new TableCell();
TextRun textRun = new TextRun("Sample text");

// Add text run to the cell as a paragraph
cell.AddContent(new Paragraph(textRun));

// Configure cell border style
BorderStyle borderStyle = new BorderStyle
{
    BorderColor = new IronColor(IronSoftware.Drawing.Color.Black),
    BorderValue = IronWord.Models.Enums.BorderValues.Thick,
    BorderSize = 5
};

// Set table borders
TableBorders tableBorders = new TableBorders
{
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle
};
cell.Borders = tableBorders;

// Create a table row and add cells to it
TableRow row = new TableRow();
row.AddCell(cell); // Add the first cell
row.AddCell(cell); // Add the second cell, duplicating to mimic a row with two identical cells

// Create a table and add the row to the table
Table table = new Table();
table.AddRow(row);

// Create and save a Word document using the table
WordDocument doc = new WordDocument(table);
doc.SaveAs("Document.docx"); // Saves the file to disk with the name Document.docx
using IronWord;
using IronWord.Models;

// Create a table cell with sample text
TableCell cell = new TableCell();
TextRun textRun = new TextRun("Sample text");

// Add text run to the cell as a paragraph
cell.AddContent(new Paragraph(textRun));

// Configure cell border style
BorderStyle borderStyle = new BorderStyle
{
    BorderColor = new IronColor(IronSoftware.Drawing.Color.Black),
    BorderValue = IronWord.Models.Enums.BorderValues.Thick,
    BorderSize = 5
};

// Set table borders
TableBorders tableBorders = new TableBorders
{
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle
};
cell.Borders = tableBorders;

// Create a table row and add cells to it
TableRow row = new TableRow();
row.AddCell(cell); // Add the first cell
row.AddCell(cell); // Add the second cell, duplicating to mimic a row with two identical cells

// Create a table and add the row to the table
Table table = new Table();
table.AddRow(row);

// Create and save a Word document using the table
WordDocument doc = new WordDocument(table);
doc.SaveAs("Document.docx"); // Saves the file to disk with the name Document.docx
$vbLabelText   $csharpLabel

No exemplo acima, adicionamos uma tabela a um documento Word usando bordas.

Adicionar Imagens a um Documento Word

Imagens melhoram a apresentação do documento e podem adicionar mais cores e apelo visual.

Imagens podem ser adicionadas programaticamente a um documento Word usando IronWord, conforme mostrado no código abaixo:

using IronWord;
using IronWord.Models;

// Load a new document
WordDocument doc = new WordDocument();

// Configure and add image to the document
IronWord.Models.Image image = new IronWord.Models.Image("SalesChart.jpg")
{
    Width = 200, // Set image width in pixels
    Height = 200 // Set image height in pixels
};
Paragraph paragraph = new Paragraph();
paragraph.AddImage(image); // Add image to paragraph
doc.AddParagraph(paragraph); // Add paragraph to the document

// Save the document as a .docx file
doc.SaveAs("save_document.docx"); // Saves the file to disk with the name save_document.docx
using IronWord;
using IronWord.Models;

// Load a new document
WordDocument doc = new WordDocument();

// Configure and add image to the document
IronWord.Models.Image image = new IronWord.Models.Image("SalesChart.jpg")
{
    Width = 200, // Set image width in pixels
    Height = 200 // Set image height in pixels
};
Paragraph paragraph = new Paragraph();
paragraph.AddImage(image); // Add image to paragraph
doc.AddParagraph(paragraph); // Add paragraph to the document

// Save the document as a .docx file
doc.SaveAs("save_document.docx"); // Saves the file to disk with the name save_document.docx
$vbLabelText   $csharpLabel

Aqui, estamos adicionando uma imagem usando IronWord.Models.Image com altura e largura de 200 pixels a um parágrafo.

Licenciamento (Teste Gratuito Disponível)

IronWord requer uma licença para uso. Obtenha uma chave de teste no site da Iron Software. Esta chave precisa ser colocada em appsettings.json.

{
    "IronWord.LicenseKey": "IRONWORD.MYLICENSE.KEY.TRIAL"
}

Forneça seu e-mail para obter uma licença de avaliação. Após enviar seu ID de e-mail, a chave será entregue por e-mail.

Como criar documentos do Word sem Office Interop em C#: Figura 6 - Popup ao enviar com sucesso o formulário de teste

Conclusão

Criar documentos Word em C# usando a biblioteca IronWord proporciona uma forma flexível e eficiente de gerar documentos sem depender do Microsoft Office. Seja para criar cartas simples ou relatórios complexos com tabelas e imagens, IronWord permite alcançar isso programaticamente. Este artigo fornece um tutorial abrangente sobre a criação de documentos Word. Com o IronWord, você tem o poder de automatizar a criação de documentos Word, tornando suas aplicações C# mais versáteis e produtivas.

E para os desenvolvedores que procuram manipulação de arquivos PDF para trabalhar em conjunto com seus documentos Word gerados, não procure mais além do IronPDF, outra biblioteca C# produzida pela Iron Software.

Perguntas frequentes

Como posso criar documentos do Word em C# sem usar o Microsoft Office Interop?

Você pode criar documentos do Word em C# sem usar o Microsoft Office Interop, aproveitando a biblioteca IronWORD. Essa biblioteca permite gerar, editar e salvar documentos do Word programaticamente, sem a necessidade de instalar o Microsoft Office.

Quais são as vantagens de usar o IronWORD em vez do Microsoft Office Interop?

O IronWORD oferece a flexibilidade de ser executado em plataformas não-Windows, como o Linux, onde a interoperabilidade com o Microsoft Office não está disponível. Ele também elimina a dependência da instalação do Microsoft Office, simplificando o processo de desenvolvimento.

Como faço para começar a criar um documento do Word usando o IronWord?

Para começar a criar um documento do Word usando o IronWORD, primeiro instale a biblioteca IronWORD através do Gerenciador de Pacotes NuGet em seu projeto C#. Em seguida, use a API do IronWORD para criar e manipular documentos do Word programaticamente.

Posso usar o IronWORD com as versões mais recentes do .NET?

Sim, o IronWORD é compatível com várias versões do .NET, incluindo .NET 8, 7, 6, Framework, Core e Azure, permitindo sua integração em aplicações C# modernas.

Como posso adicionar texto formatado a um documento do Word com o IronWORD?

O IronWORD permite adicionar texto formatado usando as classes TextRun e TextStyle . Essas classes possibilitam aplicar estilos como negrito, itálico e sublinhado a segmentos de texto específicos dentro do seu documento Word.

É possível incluir tabelas em documentos do Word usando o IronWORD?

Sim, você pode incluir tabelas em documentos do Word usando o IronWORD. A biblioteca permite definir tabelas com linhas e células, e você pode personalizar a aparência delas com bordas e outros estilos.

Como faço para inserir imagens em um documento do Word usando o IronWord?

Para inserir imagens em um documento do Word usando o IronWord, você pode usar a classe IronWord.Models.Image para incorporar imagens com dimensões específicas em parágrafos, aprimorando o conteúdo visual do seu documento.

Existe alguma versão de avaliação do IronWORD disponível para teste?

Sim, a Iron Software oferece uma versão de avaliação gratuita do IronWORD, que você pode baixar do site deles. Essa versão de avaliação permite que você avalie os recursos e as funcionalidades da biblioteca antes de efetuar a compra.

Que outras bibliotecas de manipulação de documentos a Iron Software oferece?

Além do IronWORD, a Iron Software fornece o IronPDF, uma biblioteca para manipulação de arquivos PDF. Juntas, essas bibliotecas oferecem soluções abrangentes para lidar com documentos Word e PDF em aplicações C#.

Curtis Chau
Redator Técnico

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 ...

Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me