IRONSOFTWAREHOME
USANDO IRONPDF

Generador PDF Xamarin/.NET MAUI: VeriFactu, TicketBAI, Facturae y Crea y Crece

Curtis Chau
Curtis Chau
Updated: 5 de julio de 2026

Convertir un documento de Word a PDF en C# requiere tres líneas de código con IronPDF: crear un DocxToPdfRenderer, llamar a RenderDocxAsPdf y guardar el resultado. Sin instalación de Microsoft Office, sin interoperabilidad COM, sin configuración compleja de servidor: solo un paquete NuGet y código .NET que funciona en cualquier entorno, incluidos la nube, Docker y servicios de Windows.

¿Cómo instalar IronPDF en un proyecto ASP.NET ?

Abra la consola del Administrador de paquetes en Visual Studio y ejecute el siguiente comando para instalar IronPDF:

PM > Install-Package IronPdf

Una vez instalado el paquete, agregue una directiva using IronPdf; a sus archivos C#. IronPDF está destinado a .NET 8 y versiones posteriores, lo que lo hace compatible con ASP.NET Core, ASP.NET Framework 4.6.2+ y proyectos de servicio de trabajo modernos. No se requieren componentes de ejecución adicionales ni licencias de Microsoft Office.

Antes de ejecutar en producción, configure su clave de licencia una vez al iniciar la aplicación, por ejemplo, en la parte superior de Program.cs. Puede leer la clave de appsettings.json para mantener las credenciales fuera del control de origen: IronPdf.License.LicenseKey = configuration["IronPdf:LicenseKey"]!;.

¿Qué versiones de .NET admite IronPDF ?

IronPDF es compatible con las siguientes plataformas:

Compatibilidad de la plataforma IronPDF .NET
PlataformaVersión mínimaNotas
.NET8, 9, 10Soporte completo, recomendado
Marco .NET4.6.2Sólo Windows
ASP.NET Core3.1+Controladores MVC y middleware
Azure Functionsversión 4Modelo de proceso aislado
Docker / LinuxCualquierRequiere libgdiplus

¿Cómo convertir un documento de Word a PDF en C#?

La clase DocxToPdfRenderer es el punto de entrada para todas las conversiones de Word a PDF. Acepta una ruta de archivo, una matriz de bytes o un Stream, y devuelve un objeto PdfDocument que puede guardar, cifrar, fusionar o servir directamente a través de HTTP.

Aquí está la conversión más simple posible:

using IronPdf;

// Set license key before first use
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

var renderer = new DocxToPdfRenderer();
var pdf = renderer.RenderDocxAsPdf("report.docx");
pdf.SaveAs("report.pdf");

¿Qué sucede con el formato durante la conversión?

DocxToPdfRenderer conserva los siguientes elementos del documento de Word durante la conversión:

  • Formato de texto : fuentes, tamaños, negrita, cursiva, subrayado, tachado
  • Estilos de párrafo : encabezados, cuerpo del texto, listas (ordenadas y desordenadas)
  • Tablas : bordes, celdas fusionadas, sombreado y anchos de columnas
  • Imágenes : imágenes en línea y flotantes en su resolución original
  • Encabezados y pies de página : números de página, fechas y contenido personalizado
  • Diseño de página : márgenes, orientación (vertical/horizontal), tamaño del papel

Para obtener notas detalladas sobre el comportamiento de casos extremos, como objetos OLE integrados o cambios rastreados, consulte la documentación de DocxToPdfRenderer .

¿Cómo convertir un DOCX cargado desde un stream?

Cuando recibes un archivo DOCX como una carga o lo lees desde un blob de base de datos, puedes pasar la transmisión directamente al renderizador:

using IronPdf;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

using var docxStream = new FileStream("document.docx", FileMode.Open);
var renderer = new DocxToPdfRenderer();
var pdfDocument = renderer.RenderDocxAsPdf(docxStream);
pdfDocument.SaveAs("output.pdf");

Este enfoque evita escribir archivos temporales en el disco, lo cual es importante en entornos de sistemas de archivos de solo lectura como Azure App Service.

¿Cómo convertir varios archivos DOCX en un lote?

Cuando necesite procesar una carpeta completa de documentos, itere sobre los archivos y reutilice una única instancia DocxToPdfRenderer. La reutilización del renderizador evita la sobrecarga de inicialización repetida:

using IronPdf;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

var renderer = new DocxToPdfRenderer();
string[] docxFiles = Directory.GetFiles(@"C:\WordDocuments", "*.docx");

foreach (string docxFile in docxFiles)
{
    var pdf = renderer.RenderDocxAsPdf(docxFile);
    string pdfPath = Path.ChangeExtension(docxFile, ".pdf");
    pdf.SaveAs(pdfPath);
    Console.WriteLine($"Converted: {Path.GetFileName(pdfPath)}");
}

Documento de Word de entrada convertido en archivo PDF

Cómo convertir Word a PDF ASP.NET con IronPDF: Imagen 1 - Documento Word de entrada vs. archivo PDF de salida

Archivos de salida

Cómo convertir Word a PDF ASP.NET con IronPDF: Imagen 2 - Archivos originales de Word y los PDF renderizados en el directorio especificado

Para escenarios de alto rendimiento, considere paralelizar el bucle con Parallel.ForEach. Cree un DocxToPdfRenderer por hilo si ejecuta conversiones simultáneas, ya que la clase no es segura para hilos cuando se comparte entre hilos.

¿Cómo utilizar la combinación de correspondencia para generar archivos PDF personalizados?

La combinación de correspondencia permite definir una plantilla DOCX con marcadores de posición y, posteriormente, rellenarlos con datos en tiempo de ejecución. Este patrón es ideal para facturas, contratos, certificados y cualquier documento cuya estructura es fija, pero cuyo contenido varía según el destinatario.

El DocxToPdfRenderer de IronPDF acepta un DataTable, un Dictionary<string, string> o una fuente de datos personalizada a través de la propiedad MailMergeDataSource:

using IronPdf;
using System.Data;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

// Build the data source
var data = new DataTable();
data.Columns.Add("CustomerName");
data.Columns.Add("InvoiceNumber");
data.Columns.Add("TotalAmount");
data.Rows.Add("Acme Corp", "INV-2026-001", "$4,500.00");

var renderer = new DocxToPdfRenderer();
renderer.MailMergeDataSource = data;

var pdf = renderer.RenderDocxAsPdf("invoice_template.docx");
pdf.SaveAs("acme_invoice.pdf");

En la plantilla DOCX, rodee cada nombre de campo con chevrones dobles (por ejemplo, <<CustomerName>>) para marcar los campos de combinación. En el momento de la conversión, IronPDF reemplaza cada marcador de posición con el valor de columna correspondiente de la fuente de datos. Puede obtener más información sobre los patrones de automatización de documentos en la documentación de combinación de correspondencia de Microsoft Word .

¿Cómo proteger un PDF después de convertirlo desde DOCX?

Después de la conversión, puede aplicar protección con contraseña y restricciones de permisos directamente en el objeto PdfDocument antes de guardar. Esto es útil cuando se distribuyen informes financieros, acuerdos legales o cualquier documento que no deba copiarse o imprimirse libremente:

using IronPdf;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

var renderer = new DocxToPdfRenderer();
var pdf = renderer.RenderDocxAsPdf("confidential.docx");

// Require a password to open the file
pdf.SecuritySettings.UserPassword = "user123";

// Owner password allows overriding restrictions
pdf.SecuritySettings.OwnerPassword = "owner456";

// Restrict printing and content copying
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

pdf.SaveAs("secured_document.pdf");

Configuración de seguridad de PDF aplicada

Cómo convertir Word a PDF ASP.NET con IronPDF: Imagen 3 - Configuración de seguridad de PDF

IronPDF utiliza encriptación AES de 128 bits y 256 bits según la versión del PDF. Para obtener más detalles sobre todas las opciones de seguridad disponibles, consulte la documentación de seguridad de IronPDF .

La siguiente tabla resume las propiedades de seguridad más utilizadas:

Configuración de seguridad de documentos PDF de IronPDF
PropiedadEscriba aDescripción
UserPasswordstringSe requiere contraseña para abrir el documento
OwnerPasswordstringContraseña que anula todas las restricciones
AllowUserPrintingPdfPrintSecurity enumControla los permisos de impresión
AllowUserCopyPasteContentboolPermite o bloquea la copia de texto
AllowUserAnnotationsboolPermite o bloquea las herramientas de anotación
AllowUserFormDataboolPermite o bloquea el llenado de formularios

¿Cómo integrar la conversión de DOCX a PDF en un controlador ASP.NET Core ?

Para exponer la conversión de Word a PDF como un punto final HTTP, inyecte la lógica de conversión en una acción del controlador. El siguiente ejemplo acepta la carga de un formulario de varias partes, convierte el archivo en la memoria y devuelve el PDF como una respuesta de archivo descargable:

using IronPdf;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

[ApiController]
[Route("api/[controller]")]
public class DocumentController : ControllerBase
{
    [HttpPost("convert")]
    public IActionResult ConvertWordToPdf(IFormFile wordFile)
    {
        if (wordFile == null || wordFile.Length == 0)
            return BadRequest("Please upload a valid Word document.");

        using var stream = new MemoryStream();
        wordFile.CopyTo(stream);

        var renderer = new DocxToPdfRenderer();
        var pdfDocument = renderer.RenderDocxAsPdf(stream.ToArray());

        return File(pdfDocument.BinaryData, "application/pdf", "converted.pdf");
    }
}

¿Cómo se registra IronPDF en el contenedor de inyección de dependencia?

Para aplicaciones más grandes, registre DocxToPdfRenderer como singleton a través del sistema de inyección de dependencia ASP.NET Core integrado. En Program.cs, agregue builder.Services.AddSingleton<DocxToPdfRenderer>(); después de configurar la clave de licencia. Registrar el renderizador como singleton significa que el objeto se inicializa una vez y se reutiliza en todas las solicitudes, lo que reduce la sobrecarga por solicitud. Inyéctelo en los controladores y servicios a través del constructor como lo haría con cualquier otra dependencia.

¿Qué gestión de errores debería añadir?

Los documentos de Word pueden contener características no compatibles o estar mal formados. Envuelva las llamadas de conversión en un bloque try/catch para manejar IronPdfException y devolver una respuesta significativa al llamador:

try
{
    var pdf = renderer.RenderDocxAsPdf(stream.ToArray());
    return File(pdf.BinaryData, "application/pdf", "output.pdf");
}
catch (IronPdfException ex)
{
    // Log the exception and return a 422 Unprocessable Entity
    return UnprocessableEntity($"Conversion failed: {ex.Message}");
}

Un buen manejo de errores evita que aparezcan excepciones no controladas para los usuarios finales y hace que la depuración de problemas de conversión sea mucho más sencilla.

¿Cómo fusionar un PDF convertido con un documento existente?

Un flujo de trabajo común implica convertir una carta de presentación DOCX y luego anteponerla a un informe PDF existente. La capacidad de fusión de PDF de IronPDF permite escribir esto en una sola línea:

using IronPdf;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

var renderer = new DocxToPdfRenderer();
var coverLetter = renderer.RenderDocxAsPdf("cover_letter.docx");
var existingReport = PdfDocument.FromFile("annual_report.pdf");

// Merge cover letter (first) with existing report (second)
var merged = PdfDocument.Merge(coverLetter, existingReport);
merged.SaveAs("final_document.pdf");

Puede fusionar tantos objetos PdfDocument como necesite pasando una colección a PdfDocument.Merge. Para escenarios de ensamblaje de documentos más avanzados, explore la posibilidad de agregar páginas a un PDF existente o estampar marcas de agua en la salida convertida.

¿Cómo agregar marcas de agua o encabezados a archivos PDF convertidos?

Después de convertir un archivo DOCX, puede agregar encabezados, pies de página y sellos de texto personalizados a cada página. Esto es útil para agregar estado de aprobación, avisos de confidencialidad o marca a los documentos generados:

using IronPdf;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

var renderer = new DocxToPdfRenderer();
var pdf = renderer.RenderDocxAsPdf("proposal.docx");

// Add a text stamp on every page
pdf.ApplyStamp(new TextStamp("DRAFT", new TextStampStyle
{
    FontSize = 36,
    FontColor = IronSoftware.Drawing.Color.FromArgb(100, 200, 0, 0),
    VerticalAlignment = VerticalAlignment.Middle,
    HorizontalAlignment = HorizontalAlignment.Center,
    Rotation = -45
}));

pdf.SaveAs("proposal_draft.pdf");

Para encabezados y pies de página basados ​​en HTML que incluyen números de página, consulte la documentación de encabezados y pies de página de IronPDF .

¿Cómo comparar IronPDF con otras bibliotecas alternativas de Word a PDF?

Existen varias bibliotecas para convertir archivos DOCX a PDF en .NET. Comprender las ventajas y desventajas le ayudará a elegir la herramienta adecuada para su caso de uso.

Telerik Document Processing (RadWordsProcessing) admite la conversión de DOCX a PDF y está incluido en la suite Telerik. Funciona completamente en código administrado y no requiere dependencias nativas, pero su fidelidad de representación para diseños complejos puede ser diferente a la de Word. Aspose.Words es otra opción establecida con alta fidelidad y una API enriquecida, aunque tiene un costo de licencia por desarrollador similar al de IronPDF.

Para alternativas de código abierto, DocX de Xceed proporciona manipulación DOCX pero no incluye conversión a PDF directamente. Los desarrolladores que necesitan una opción de dependencia cero en Linux también pueden considerar LibreOffice sin cabeza llamado desde un proceso, aunque eso introduce una gran dependencia binaria y una sobrecarga de generación de procesos.

Comparación de bibliotecas de Word a PDF para .NET
BibliotecaFidelidad de representaciónSe requiere oficinaSoporte para LinuxModelo de licencia
IronPDFAltoNoPor desarrollador / SaaS
Aspose.WordsMuy altoNoPor desarrollador
Palabras de TelerikMedio-altoNoSuite Telerik
Microsoft.Office.InteropPerfectoNoLicencia de oficina
LibreOffice sin cabezaMedioNoCódigo abierto (MPL)

La principal ventaja de IronPDF en esta comparación es la combinación de alta fidelidad, sin dependencia nativa de Office, compatibilidad con Linux y una instalación sencilla basada en NuGet. Para los equipos que ya utilizan una licencia IronPDF para la conversión de HTML a PDF, el renderizador DOCX viene incluido sin costo adicional.

¿Cómo maneja IronPDF el formato de archivo DOCX internamente?

IronPDF lee directamente el formato Office Open XML (OOXML), la misma especificación utilizada por Microsoft Word. No invoca Word en segundo plano ni utiliza un puente de automatización COM. Esto significa que la conversión se ejecuta en proceso dentro de su aplicación .NET , lo que la hace predecible, determinista y segura para cargas de trabajo de servidor multiproceso.

El canal interno analiza el paquete XML OOXML, resuelve los recursos integrados (imágenes, fuentes, objetos integrados), aplica formato de párrafo y de ejecución, diseña la geometría de la página según las propiedades de la sección del documento y rasteriza el resultado en un flujo de contenido PDF. La especificación PDF (ISO 32000) regula el formato de salida, garantizando la compatibilidad con los principales visores de PDF.

¿Cuales son tus próximos pasos?

Ahora tiene una base sólida para convertir documentos de Word a PDF en cualquier aplicación .NET o ASP.NET . Esto es lo que debemos explorar a continuación:

  • Descargue y pruebe IronPDF : comience con la prueba gratuita para probar el conjunto completo de funciones en su propio proyecto antes de comprometerse con una licencia.
  • Lea la guía de conversión DOCX : el artículo instructivo de DocxToPdfRenderer cubre casos extremos, opciones avanzadas y ajuste del rendimiento en profundidad.
  • Explore HTML a PDF : si su flujo de trabajo involucra plantillas HTML o vistas Razor , IronPDF puede convertir HTML a PDF con la misma superficie API fluida.
  • Fusionar y dividir documentos : aprenda a combinar varios PDF en un solo archivo o dividir un PDF grande en páginas individuales.
  • Agregar firmas digitales : para flujos de trabajo legales o de cumplimiento, IronPDF admite firmas digitales PDF mediante certificados X.509.
  • Revise las opciones de licencia : explore las licencias por desarrollador, sitio y OEM para encontrar el plan que se ajuste a su modelo de implementación.
  • Explorar el blog : el blog de IronPDF contiene tutoriales sobre generación, manipulación, integración de OCR y más en PDF.
Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

OR
bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999