Como converter um documento do Word para PDF em C#
Converter documentos programaticamente tornou-se uma característica essencial em muitas aplicações. Especialmente no mundo dos negócios, converter documentos do Word para arquivos PDF é uma tarefa rotineira. Felizmente, com C# e Microsoft Interop, você pode converter arquivos do Word para PDF de forma contínua. Este tutorial abordará o processo de conversão programática de arquivos Word para PDF usando C#.
Pré-requisitos
Antes de mergulhar no código para converter .DOCX para PDF usando C#, é crucial garantir que você tenha o ambiente necessário configurado. Abaixo estão os pré-requisitos de que você precisa:
Instalação do Microsoft Word
Certifique-se de ter o Microsoft Word instalado em seu computador. Os serviços de Interop usarão as capacidades incorporadas do Word para lidar com o documento do Word e a conversão para PDF.
Visual Studio
Uma versão do Visual Studio é necessária para criar, compilar e executar o programa C#. Se você ainda não possui o Visual Studio, você pode baixar a versão comunitária, que é gratuita, no site oficial da Microsoft.
Instalar pacote Microsoft.Office.Interop.Word
Este pacote é essencial para fornecer as funcionalidades necessárias para seu programa C# interagir com documentos do Word. Ele será instalado posteriormente usando o Gerenciador de Pacotes NuGet, mas é bom saber sua importância no processo de conversão.
Documento do Word para Conversão
Prepare um documento Word ou arquivo .docx que você gostaria de converter. Certifique-se de saber seu caminho no seu computador, pois você precisará especificá-lo no programa C#.
Permissões Suficientes
Certifique-se de ter permissões para ler o arquivo do Word e gravar o arquivo PDF resultante no diretório desejado. Executar o Visual Studio como administrador às vezes pode resolver problemas relacionados a permissões.
Com esses pré-requisitos, você pode configurar seu ambiente e converter seus documentos do Word em arquivos PDF.
Preparando o ambiente
- Abra seu Visual Studio.
- Crie um novo aplicativo de console C#.
- Vá para Gerenciador de Pacotes NuGet > Gerenciar Pacotes NuGet para a Solução.
- Procure por "
Microsoft.Office.Interop.Word" e instale-o. Este pacote permitirá que nossa aplicação se comunique com o Word e converta arquivos do Word.

Código Exemplo para Converter Documento Word para PDF
Para converter um documento Word para PDF usando C#, utilizaremos as capacidades dos serviços de Interop da Microsoft. O trecho de código abaixo realiza essa tarefa, e uma explicação detalhada segue.
using System;
using Word = Microsoft.Office.Interop.Word;
class Program
{
static void Main()
{
// Create an instance of Microsoft Word application
var wordApp = new Word.Application();
// Open the Word document
var wordDocument = wordApp.Documents.Open(@"path_to_your_word_file.docx");
// Specify the path where the PDF should be saved
var outputPath = @"path_where_you_want_to_save_pdf.pdf";
// Convert the Word document to PDF
wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF);
// Close the Word document and quit the Word application
wordDocument.Close();
wordApp.Quit();
// Output a success message
Console.WriteLine("Word document converted to PDF successfully!");
}
}
using System;
using Word = Microsoft.Office.Interop.Word;
class Program
{
static void Main()
{
// Create an instance of Microsoft Word application
var wordApp = new Word.Application();
// Open the Word document
var wordDocument = wordApp.Documents.Open(@"path_to_your_word_file.docx");
// Specify the path where the PDF should be saved
var outputPath = @"path_where_you_want_to_save_pdf.pdf";
// Convert the Word document to PDF
wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF);
// Close the Word document and quit the Word application
wordDocument.Close();
wordApp.Quit();
// Output a success message
Console.WriteLine("Word document converted to PDF successfully!");
}
}
Imports System
Imports Word = Microsoft.Office.Interop.Word
Friend Class Program
Shared Sub Main()
' Create an instance of Microsoft Word application
Dim wordApp = New Word.Application()
' Open the Word document
Dim wordDocument = wordApp.Documents.Open("path_to_your_word_file.docx")
' Specify the path where the PDF should be saved
Dim outputPath = "path_where_you_want_to_save_pdf.pdf"
' Convert the Word document to PDF
wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF)
' Close the Word document and quit the Word application
wordDocument.Close()
wordApp.Quit()
' Output a success message
Console.WriteLine("Word document converted to PDF successfully!")
End Sub
End Class
Explicação do código
O início do nosso código inclui um alias de namespace crucial Word para referenciar facilmente o namespace Microsoft.Office.Interop.Word. O namespace System fornece classes fundamentais para a programação em C#, e é um elemento básico em quase todas as aplicações C#.
A ação real começa dentro do método Main. Primeiro, criamos uma nova instância da aplicação Word usando new Word.Application(). Esta etapa é semelhante a iniciar o MS Word, mas tudo acontece em segundo plano, sem ser visto pelo usuário. Uma vez que a instância da aplicação é inicializada, instruímos a abrir um documento Word com o método wordApp.Documents.Open. Especificar o caminho para o seu documento Word no lugar de "path_to_your_word_file.docx" é crucial.
Agora, com o documento aberto, determinamos onde queremos que nosso PDF seja salvo. Isso é especificado na variável outputPath. É essencial notar que o caminho deve ser ajustado para onde você gostaria que seu arquivo PDF convertido residisse.
A magia da conversão do documento Word para PDF acontece com a linha wordDocument.ExportAsFixedFormat(...). Os serviços de Interop fornecem um método embutido, permitindo a conversão sem esforço. O método aceita dois argumentos principais: o caminho onde o PDF deve ser salvo e o formato de exportação, que no nosso caso é PDF.
Após a conversão, fechar os recursos que usamos é uma boa prática. Assim, wordDocument.Close() garante que o documento que abrimos agora está fechado, enquanto wordApp.Quit() garante que a instância da aplicação Word que lançamos em segundo plano é encerrada.
Por fim, nosso programa comunica o resultado para o usuário com uma simples mensagem no console. O método Console.WriteLine() fornece feedback, sinalizando que o processo de conversão foi executado com sucesso.
Assim, Microsoft.Office.Interop.Word oferece uma solução adequada para manipular e converter documentos Word.
Word para PDF C# Usando IronPDF e IronWord
Se você está desenvolvendo uma aplicação .NET que envolve automação de documentos, uma tarefa comum que enfrentará é converter documentos Word para o formato PDF. Seja você trabalhando com modelos de documentos .docx, faturas, relatórios ou contratos, converter arquivos DOCX para PDF garante formatação consistente, entrega segura e compatibilidade entre plataformas.
Este artigo explica como converter facilmente Word para PDF usando duas ferramentas poderosas da IronSoftware: IronPDF e IronWord. Você aprenderá como elas diferem, quando usar cada ferramenta e como implementá-las em C# para geração rápida e confiável de Word para PDF.
Por que Converter Word para PDF em .NET?
Antes de mergulharmos em como você pode usar essas bibliotecas para realizar essa tarefa, vamos primeiro dar uma olhada em por que exatamente converter seus documentos Word para PDF pode elevar seu ambiente de trabalho e documentos.
Então, por que você deveria converter arquivos DOCX para o formato PDF?
- Garante consistência visual em várias plataformas
- Bloqueia a formatação e previne edições não intencionais
- É ideal para arquivar documentos legais ou financeiros
- Facilita a impressão e o compartilhamento de seus arquivos
- É frequentemente o formato exigido para muitos fluxos de trabalho empresariais
Visão Geral das Ferramentas: IronPDF e IronWord
IronWord

IronWord é uma biblioteca .NET projetada especificamente para ler e editar documentos Word. Com IronWord, você pode carregar documentos .docx e editá-los diretamente para atender às suas necessidades, sem a necessidade de Interop do Microsoft Office ou instalações do Microsoft Word, antes de usar o IronPDF para lidar com a conversão de DOCX para PDF.
Vamos agora ver o IronWord em ação, criando um novo objeto de documento e adicionando texto a ele:
using IronWord;
using IronWord.Models;
using IronWord.Models.Abstract;
WordDocument doc = new WordDocument();
TextContent text = new TextContent("This is some example text.");
text.Style = new TextStyle()
{
Color = Color.Red,
TextFont = new Font()
{
FontFamily = "Roboto",
FontSize = 72,
}
};
doc.AddText(text);
doc.Save("example.docx");
using IronWord;
using IronWord.Models;
using IronWord.Models.Abstract;
WordDocument doc = new WordDocument();
TextContent text = new TextContent("This is some example text.");
text.Style = new TextStyle()
{
Color = Color.Red,
TextFont = new Font()
{
FontFamily = "Roboto",
FontSize = 72,
}
};
doc.AddText(text);
doc.Save("example.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Abstract
Private doc As New WordDocument()
Private text As New TextContent("This is some example text.")
text.Style = New TextStyle() With {
.Color = Color.Red,
.TextFont = New Font() With {
.FontFamily = "Roboto",
.FontSize = 72
}
}
doc.AddText(text)
doc.Save("example.docx")
Documento Word de Saída

IronPDF

O IronPDF é uma biblioteca PDF completa for .NET, repleta de ferramentas para a geração e manipulação de PDFs. Enquanto uma de suas características principais é a conversão de alta qualidade de HTML para PDF, ele também é capaz de lidar com tarefas de conversão de Word para PDF em C#. Para desenvolvedores .NET que procuram gerar PDFs ou editar documentos PDF existentes, o IronPDF oferece tudo o que você precisa.
Então, quão fácil é usar o IronPDF? Vamos ver o exemplo de código a seguir para entender como ele funciona ao converter documentos Word para PDF:
using IronPdf;
var renderer = new DocxToPdfRenderer();
var pdf = renderer.RenderDocxAsPdf("sample.docx");
pdf.SaveAs("example.pdf");
using IronPdf;
var renderer = new DocxToPdfRenderer();
var pdf = renderer.RenderDocxAsPdf("sample.docx");
pdf.SaveAs("example.pdf");
Imports IronPdf
Private renderer = New DocxToPdfRenderer()
Private pdf = renderer.RenderDocxAsPdf("sample.docx")
pdf.SaveAs("example.pdf")
Saída em PDF

Fluxo de Trabalho Combinado: IronWord e IronPDF
Embora o IronWord não possa exportar diretamente para PDF, ele é perfeito para preparar documentos Word programaticamente. Aqui está um fluxo comum:
Word to PDF Pipeline in C
- Carregar ou criar um documento Word com o IronWord
- Editar ou preencher dados dinâmicos (por exemplo, substituir tokens)
- Salvar o arquivo .docx
- Usar o IronPDF para converter o documento para o formato PDF
- Depois, você pode usar o IronPDF para fazer quaisquer ajustes adicionais no PDF recém-gerado, como adicionar marcas d'água ou anotações
Este fluxo de trabalho híbrido oferece flexibilidade máxima com dependências mínimas, ideal tanto para aplicativos web quanto para serviços em nuvem e aplicativos desktop.
Então, como isso fica na prática?
Usando o IronWord para Criação de Documentos
Primeiro, usaremos o IronWord para criar um exemplo de documento Word.
using IronWord;
using IronWord.Models;
using IronWord.Models.Abstract;
WordDocument doc = new WordDocument();
TextContent title = new TextContent("Example Report.");
TextContent text = new TextContent("Report created using IronWord, you can use this to create dynamic text and tables.");
title.Style = new TextStyle()
{
TextFont = new Font()
{
FontSize = 72
},
IsBold = true,
};
Paragraph paragraph = new Paragraph();
paragraph.AddText(title);
paragraph.AddText(text);
doc.AddParagraph(paragraph);
doc.Save("example.docx");
using IronWord;
using IronWord.Models;
using IronWord.Models.Abstract;
WordDocument doc = new WordDocument();
TextContent title = new TextContent("Example Report.");
TextContent text = new TextContent("Report created using IronWord, you can use this to create dynamic text and tables.");
title.Style = new TextStyle()
{
TextFont = new Font()
{
FontSize = 72
},
IsBold = true,
};
Paragraph paragraph = new Paragraph();
paragraph.AddText(title);
paragraph.AddText(text);
doc.AddParagraph(paragraph);
doc.Save("example.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Abstract
Private doc As New WordDocument()
Private title As New TextContent("Example Report.")
Private text As New TextContent("Report created using IronWord, you can use this to create dynamic text and tables.")
title.Style = New TextStyle() With {
.TextFont = New Font() With {.FontSize = 72},
.IsBold = True
}
Dim paragraph As New Paragraph()
paragraph.AddText(title)
paragraph.AddText(text)
doc.AddParagraph(paragraph)
doc.Save("example.docx")
Saída

Usando o IronPDF para Conversão de Word para PDF C
Em apenas 3 linhas simples de código, poderemos facilmente converter nosso documento Word para PDF.
using IronPdf;
var renderer = new DocxToPdfRenderer();
var pdf = renderer.RenderDocxAsPdf("example.docx");
pdf.SaveAs("output.pdf");
using IronPdf;
var renderer = new DocxToPdfRenderer();
var pdf = renderer.RenderDocxAsPdf("example.docx");
pdf.SaveAs("output.pdf");
Imports IronPdf
Private renderer = New DocxToPdfRenderer()
Private pdf = renderer.RenderDocxAsPdf("example.docx")
pdf.SaveAs("output.pdf")
Saída

Assim, fomos capazes de criar um documento Word personalizado com o IronWord, antes de implementar o IronPDF para convertê-lo em formato PDF em apenas algumas linhas de código.
Pronto para Implantação: Funciona em Todos os Lugares
Tanto o IronPDF quanto o IronWord funcionam em:
- ASP.NET Core e Blazor
- Azure App Services e Azure Functions
- Compatível com .NET framework, .NET 6, 7, 8, 9 e .NET Core
- Facilmente integrado em ambientes Linux, Docker e servidores
- Aplicativos desktop (WPF/WinForms) e console
Nenhuma instalação do Office é necessária. Sem interoperação COM. Apenas bibliotecas .NET limpas e modernas.
Casos de uso comuns
| Uso | IronWord | IronPDF |
|---|---|---|
| Carregar/editar arquivos .docx | Sim | No |
| Substituir texto/tokens no Word | Sim | No |
| Salvar documentos .docx | Sim | No |
| Converter HTML para PDF | Não | Yes |
| Gerar saída final em PDF | Não | Yes |
| Renderização no lado do servidor | Sim | Sim |
Dica Profissional: Usando Visualizações Razor para Produzir Documentos PDF Estilo Word
Mesmo que você não esteja usando o IronWord, o IronPDF suporta templates Razor diretamente. Você pode usar Páginas Razor para produzir layouts com estilo Word usando CSS, e depois renderizar para PDF:
@model InvoiceModel
<html>
<body>
<h1>Invoice for @Model.CustomerName</h1>
<p>Amount Due: @Model.TotalAmount</p>
</body>
</html>
@model InvoiceModel
<html>
<body>
<h1>Invoice for @Model.CustomerName</h1>
<p>Amount Due: @Model.TotalAmount</p>
</body>
</html>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'@model InvoiceModel <html> <body> <h1> Invoice for @Model.CustomerName</h1> <p> Amount Due: @Model.TotalAmount</p> </body> </html>
O IronPDF pode renderizar isso em um PDF polido, pronto para impressão.
Resumo: Desbloqueie Todo o Poder do Word para PDF em .NET
Ao incluir o IronPDF e o IronWord em seus projetos .NET, você obtém um fluxo de trabalho poderoso e livre de Office para lidar com documentos no .NET. Crie documentos Word dinâmicos com estilos e tabelas personalizados ou converta seus documentos em arquivos PDF com precisão de pixels. Não importa a tarefa, com essas bibliotecas você sempre terá poderosas ferramentas para lidar com tarefas de Word e PDF ao seu alcance.
Essa combinação é perfeita para gerar faturas, relatórios, contratos e qualquer documento que comece no Word, mas precise terminar em um formato PDF seguro e consistente.
Se você está criando software de desktop ou implantando no Azure, IronWord e IronPDF lhe dão controle total sobre a automação de documentos - rápido, confiável e pronto para produção. Se você quiser ver mais dessas bibliotecas em ação, não deixe de conferir sua documentação, onde você pode encontrar muitos exemplos de código tanto para IronPDF quanto para IronWord para aprender mais sobre seus recursos e como funcionam.
Comece hoje mesmo!
Instale ambas as bibliotecas através do Gerenciador de Pacotes NuGet para implementá-las rapidamente nos seus projetos do Visual Studio. Quer experimentar antes de comprar? Baixe hoje mesmo a versão de teste gratuita do IronPDF e IronWord e comece a criar documentos poderosos imediatamente.
Perguntas frequentes
Como posso converter um documento do Word para PDF usando C#?
Você pode usar o pacote Microsoft.Office.Interop.Word para converter documentos do Word em PDF em C#. Isso envolve criar uma instância do aplicativo Word, carregar o documento e usar o método ExportAsFixedFormat para salvá-lo como PDF.
Qual é a função do método ExportAsFixedFormat na conversão de Word para PDF?
O método ExportAsFixedFormat em Microsoft.Office.Interop.Word é usado para exportar um documento do Word como um arquivo PDF, fornecendo um formato fixo adequado para compartilhamento e impressão.
Quais são os pré-requisitos para converter documentos do Word em PDF em C#?
Para converter documentos do Word para PDF em C#, você precisa ter o Microsoft Word instalado, o Visual Studio e o pacote Microsoft.Office.Interop.Word disponível através do Gerenciador de Pacotes NuGet.
Por que é importante fechar o aplicativo Word após a conversão?
Fechar o aplicativo Word após a conversão é essencial para liberar recursos do sistema e evitar vazamentos de memória. Isso garante que o aplicativo não permaneça aberto em segundo plano, consumindo recursos desnecessariamente.
Qual é a alternativa mais eficiente para lidar com arquivos do Excel do que o Microsoft Interop?
IronXL é uma alternativa mais eficiente para manipular arquivos Excel em C#. Não requer a instalação do Microsoft Office e oferece desempenho mais rápido com uma ampla gama de formatos de arquivo suportados.
Como faço para instalar a biblioteca IronXL para uso em minha aplicação C#?
Para instalar o IronXL em sua aplicação C#, utilize o console do Gerenciador de Pacotes NuGet e execute o comando Install-Package IronXL.Excel .
Quais formatos de arquivo o IronXL consegue processar ao trabalhar com arquivos do Excel?
O IronXL consegue converter e processar arquivos Excel em diversos formatos, incluindo XLS, XLSX, XLSM, CSV, TSV, JSON, XML, HTML, além de matrizes binárias e de bytes.
Quais são as vantagens de usar o IronXL em vez dos serviços de interoperabilidade da Microsoft?
O IronXL oferece vantagens como a dispensa da instalação do Microsoft Office, velocidades de processamento mais rápidas, facilidade de uso e suporte a uma gama mais ampla de formatos de arquivo em comparação com os serviços de interoperabilidade da Microsoft.



