Cómo convertir Microsoft Word a PDF en C

Chaknith related to Cómo convertir Microsoft Word a PDF en C
Chaknith Bin
19 de septiembre, 2023
Actualizado 11 de diciembre, 2024
Compartir:
This article was translated from English: Does it need improvement?
Translated
View the article in English

Un archivo DOCX es un documento creado en Microsoft Word, un programa de tratamiento de textos de Microsoft. Utiliza el estándar Office Open XML (OOXML), lo que lo hace eficiente y compatible con varios programas. Es el formato predeterminado de los documentos de Word desde Word 2007, en sustitución del antiguo formato DOC.

IronPDF permite convertir documentos DOCX en PDF y ofrece una función de combinación de correspondencia para generar lotes personalizados de documentos para destinatarios individuales. La conversión de DOCX a PDF garantiza la compatibilidad universal, conserva el formato y añade una capa de seguridad.

Comience con IronPDF

Comience a usar IronPDF en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer



Convertir un archivo DOCX en PDF Ejemplo

Para convertir un archivo de Microsoft Word a PDF, instancie la clase DocxToPdfRenderer. Utilice el método RenderDocxAsPdf del objeto DocxToPdfRenderer proporcionando la ruta del archivo DOCX. Este método devuelve un objeto PdfDocument, lo que le permite personalizar aún más el PDF. He utilizado como ejemplo la plantilla "Currículum cronológico moderno" de Microsoft Word. Puedes descargar el archivo de ejemplo Modern Chronological Resume DOCX.

Vista previa de Microsoft Word

Vista previa de Microsoft Word

Ejemplo de código

Además, el método RenderDocxAsPdf también acepta datos DOCX como bytes y flujos.

:path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-from-file.cs
using IronPdf;

// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();

// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf

' Instantiate Renderer
Private renderer As New DocxToPdfRenderer()

' Render from DOCX file
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")

' Save the PDF
pdf.SaveAs("pdfFromDocx.pdf")
$vbLabelText   $csharpLabel

Salida PDF


Ejemplo de combinación de correspondencia

Mail Merge, situado en la pestaña "Mailings" de Microsoft Word, permite crear un lote de documentos con información personalizada para cada destinatario o entrada de datos. Suele utilizarse para generar cartas, sobres, etiquetas o mensajes de correo electrónico personalizados, como invitaciones, boletines o cartas-formulario, en los que gran parte del contenido es el mismo, pero algunos detalles varían para cada destinatario.

Modelo

En primer lugar, vamos a crear un modelo para almacenar la información que se fusionará por correo en su marcador de posición correspondiente.

:path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-mail-merge-model.cs
internal class RecipientsDataModel
{
    public string Date { get; set; }
    public string Location{ get; set; }
    public string Recipients_Name { get; set; }
    public string Contact_Us { get; set; }
}
Friend Class RecipientsDataModel
	Public Property [Date]() As String
	Public Property Location() As String
	Public Property Recipients_Name() As String
	Public Property Contact_Us() As String
End Class
$vbLabelText   $csharpLabel

He modificado una plantilla proporcionada por Microsoft Word para nuestros fines. Por favor, descargue el archivo de ejemplo DOTX de invitación a la fiesta. Para nuestro caso de uso, vamos a establecer la propiedad MailMergePrintAllInOnePdfDocument en true, lo que combina los PDFs en un único objeto PdfDocument. Los campos de fusión que vamos a utilizar son Fecha, Ubicación, Nombre del destinatario y Contacto.

Vista previa de Microsoft Word

Vista previa de Microsoft Word

Ejemplo de código

:path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-mail-merge.cs
using IronPdf;
using System.Collections.Generic;
using System.Linq;

var recipients = new List<RecipientsDataModel>()
    {
        new RecipientsDataModel()
        {
            Date ="Saturday, October 15th, 2023",
            Location="Iron Software Cafe, Chiang Mai",
            Recipients_Name="Olivia Smith",
            Contact_Us = "support@ironsoftware.com"
        },
        new RecipientsDataModel()
        {
            Date ="Saturday, October 15th, 2023",
            Location="Iron Software Cafe, Chiang Mai",
            Recipients_Name="Ethan Davis",
            Contact_Us = "support@ironsoftware.com"
        },
    };

DocxToPdfRenderer docxToPdfRenderer = new DocxToPdfRenderer();

// Apply render options
DocxPdfRenderOptions options = new DocxPdfRenderOptions();

// Configure the output PDF to be combined into a single PDF document
options.MailMergePrintAllInOnePdfDocument = true;

// Convert DOTX to PDF
var pdfs = docxToPdfRenderer.RenderDocxMailMergeAsPdf<RecipientsDataModel>(
     recipients,
     "Party-invitation.dotx",
     options);

pdfs.First().SaveAs("mailMerge.pdf");
Imports IronPdf
Imports System.Collections.Generic
Imports System.Linq

Private recipients = New List(Of RecipientsDataModel)() From {
	New RecipientsDataModel() With {
		.Date ="Saturday, October 15th, 2023",
		.Location="Iron Software Cafe, Chiang Mai",
		.Recipients_Name="Olivia Smith",
		.Contact_Us = "support@ironsoftware.com"
	},
	New RecipientsDataModel() With {
		.Date ="Saturday, October 15th, 2023",
		.Location="Iron Software Cafe, Chiang Mai",
		.Recipients_Name="Ethan Davis",
		.Contact_Us = "support@ironsoftware.com"
	}
}

Private docxToPdfRenderer As New DocxToPdfRenderer()

' Apply render options
Private options As New DocxPdfRenderOptions()

' Configure the output PDF to be combined into a single PDF document
options.MailMergePrintAllInOnePdfDocument = True

' Convert DOTX to PDF
Dim pdfs = docxToPdfRenderer.RenderDocxMailMergeAsPdf(Of RecipientsDataModel)(recipients, "Party-invitation.dotx", options)

pdfs.First().SaveAs("mailMerge.pdf")
$vbLabelText   $csharpLabel

Salida PDF

Una vez creado el documento PDF, tiene la posibilidad de realizar cambios adicionales. Estos incluyen exportarlo como PDF/A o PDF/UA, así como añadir un certificado digital. También puedes manipular páginas individuales combinando o dividiendo PDFs, y rotarlas, y tienes la opción de aplicar anotaciones y marcadores.

Chaknith related to Salida PDF
Ingeniero de software
Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.