Saltar al pie de página
USANDO IRONPRINT

Cómo imprimir documentos de Word en C

Para imprimir documentos de Word en C#, utilice IronWord para crear documentos, IronPDF para convertirlos en formato PDF y IronPrint para manejar el proceso de impresión con configuraciones personalizables en múltiples plataformas.

Al construir aplicaciones C#, a menudo necesitará generar e imprimir documentos de Word de manera programática. Ya sea que esté creando informes, procesando documentos o produciendo resultados profesionales, contar con herramientas confiables marca toda la diferencia. Ahí es donde entran en juego IronWord, IronPDF, y IronPrint de Iron Software: estas bibliotecas trabajan juntas para simplificar la creación, conversión e impresión de documentos en sus aplicaciones C#.

Este artículo lo guía a través del uso de IronPrint para imprimir, creando documentos de Word con IronWord y convirtiéndolos en PDFs con IronPDF. Ya sea que esté construyendo sistemas de informes empresariales o automatizando flujos de trabajo de documentos, estas herramientas proporcionan todo lo que necesita para el procesamiento de documentos.

How to Print a Word Document in C#?

  1. Crear un Proyecto de Visual Studio
  2. Instalar las bibliotecas IronWord, IronPDF e IronPrint
  3. Crea un documento Word usando la clase IronWord WordDocument
  4. Guarda el documento Word usando el método SaveAs
  5. Crea un documento PDF usando el método DocxToPdfRenderer de IronPDF
  6. Ajusta PrinterSettings usando IronPrint
  7. Imprime usando el método Printer.Print de IronPrint

¿Qué es IronPrint?

IronPrint es una biblioteca de impresión efectiva para .NET que le ofrece control total sobre la impresión en C#. Desarrollado por Iron Software, ofrece clases y métodos especializados diseñados específicamente para tareas de impresión, permitiéndole ajustar cada aspecto del proceso de impresión. La biblioteca funciona sin problemas tanto con .NET Framework y .NET Core, por lo que puede usarlo en cualquier tipo de aplicación.

¿Cuáles son las características clave de IronPrint?

¿Cómo maneja IronPrint la configuración de impresión?

IronPrint le permite personalizar cada aspecto de sus trabajos de impresión:

  • Tamaño del papel (Carta, Legal, A4, A3, personalizado)
  • Orientación (Vertical o Entorno)
  • DPI para control de calidad
  • Número de copias con agrupamiento
  • Selección y validación de impresora
  • Márgenes con medidas precisas
  • Impresión en escala de grises para ahorro de costos
// Example: Advanced print settings configuration
using IronPrint;

// Create complete print settings
PrintSettings advancedSettings = new PrintSettings()
{
    PrinterName = "HP LaserJet Pro",
    PaperSize = PaperSize.A4,
    PrintOrientation = PrintOrientation.Portrait,
    Dpi = 600, // High quality print
    NumberOfCopies = 3,
    Grayscale = true,
    PaperMargins = new Margins(50, 50, 40, 40) // Left, Right, Top, Bottom
};

// Apply settings to print job
Printer.Print("document.pdf", advancedSettings);
// Example: Advanced print settings configuration
using IronPrint;

// Create complete print settings
PrintSettings advancedSettings = new PrintSettings()
{
    PrinterName = "HP LaserJet Pro",
    PaperSize = PaperSize.A4,
    PrintOrientation = PrintOrientation.Portrait,
    Dpi = 600, // High quality print
    NumberOfCopies = 3,
    Grayscale = true,
    PaperMargins = new Margins(50, 50, 40, 40) // Left, Right, Top, Bottom
};

// Apply settings to print job
Printer.Print("document.pdf", advancedSettings);
Imports IronPrint

' Example: Advanced print settings configuration

' Create complete print settings
Dim advancedSettings As New PrintSettings() With {
    .PrinterName = "HP LaserJet Pro",
    .PaperSize = PaperSize.A4,
    .PrintOrientation = PrintOrientation.Portrait,
    .Dpi = 600, ' High quality print
    .NumberOfCopies = 3,
    .Grayscale = True,
    .PaperMargins = New Margins(50, 50, 40, 40) ' Left, Right, Top, Bottom
}

' Apply settings to print job
Printer.Print("document.pdf", advancedSettings)
$vbLabelText   $csharpLabel

¿Cómo funciona la clase de impresora?

La clase Printer es el corazón de IronPrint. Proporciona métodos para imprimir varios tipos de archivos, incluyendo imágenes y PDFs. Puede integrarla en cualquier escenario de impresión, e incluso soporta diálogos de impresión para aplicaciones en tiempo real. El método ShowPrintDialog ofrece a los usuarios opciones familiares de configuración de impresión cuando las necesitan.

¿Qué plataformas soporta IronPrint?

IronPrint funciona en Windows, macOS, Android e iOS, asegurando una funcionalidad de impresión consistente dondequiera que usted despliegue. Este soporte multiplataforma se extiende a aplicaciones WPF, Windows Forms y ASP.NET.

¿Qué requisitos previos son necesarios?

Antes de comenzar, asegúrese de tener:

  1. Visual Studio: Descargue e instale desde el sitio web oficial.
  2. Biblioteca IronWord: Para crear y manipular archivos de Word. Instale a través de NuGet o desde IronWord.
  3. Biblioteca IronPDF: Para la conversión de Word a PDF. Consígalo desde IronPDF.
  4. Biblioteca IronPrint: Para funcionalidad de impresión. Available at IronPrint.

¿Cómo creo, convierto e imprimo documentos de Word?

Construyamos una aplicación de consola C# que cree un documento de Word, lo convierta en PDF, y lo imprima utilizando las tres bibliotecas.

Paso 1: Crear una aplicación de consola C# en Visual Studio

  1. Abre Visual Studio y crea una nueva aplicación de consola C#.
  2. Configure el Proyecto y haga clic en "Siguiente".
  3. En Información Adicional, elija su .NET Framework y haga clic en "Crear".

Paso 2: Instale las bibliotecas necesarias a través del Administrador de paquetes NuGet

  1. Abra la Consola del Administrador de Paquetes NuGet desde el menú Herramientas.
  2. En la pestaña de búsqueda, busque cada biblioteca y haga clic en instalar.
  3. Instale IronPrint usando este comando:

    Install-Package IronPrint
  4. Instale IronWord y IronPDF de la misma manera. Para la consola, utilice:

    Install-Package IronWord
    Install-Package IronPdf
    Install-Package IronWord
    Install-Package IronPdf
    SHELL

Paso 3: Crea un documento de Word con IronWord

Empecemos creando un documento sencillo de WORD con IronWord:

using IronWord;
using IronWord.Models;

// Code to Create Word File

// Create a TextRun object with sample text
TextRun textRun = new TextRun("Sample text");

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

// Create a Word document object with the paragraph and save it as a .docx file
WordDocument doc = new WordDocument(paragraph);
doc.SaveAs("assets/document.docx");
using IronWord;
using IronWord.Models;

// Code to Create Word File

// Create a TextRun object with sample text
TextRun textRun = new TextRun("Sample text");

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

// Create a Word document object with the paragraph and save it as a .docx file
WordDocument doc = new WordDocument(paragraph);
doc.SaveAs("assets/document.docx");
Imports IronWord
Imports IronWord.Models

' Code to Create Word File

' Create a TextRun object with sample text
Private textRun As New TextRun("Sample text")

' Create a paragraph and add the TextRun to it
Private paragraph As New Paragraph()
paragraph.AddTextRun(textRun)

' Create a Word document object with the paragraph and save it as a .docx file
Dim doc As New WordDocument(paragraph)
doc.SaveAs("assets/document.docx")
$vbLabelText   $csharpLabel

Esto es lo que está pasando:

  • Creamos un TextRun con nuestro texto
  • Agregarlo a un Paragraph
  • Crear un WordDocument y guardarlo

Para documentos más complejos, añada formato, varios párrafos y tablas:

using IronWord;
using IronWord.Models;

// Create a more complex Word document
WordDocument complexDoc = new WordDocument();

// Add a title paragraph with formatting
TextRun titleRun = new TextRun("Quarterly Sales Report")
{
    FontSize = 24,
    Bold = true,
    FontFamily = "Arial"
};
Paragraph titleParagraph = new Paragraph();
titleParagraph.AddTextRun(titleRun);

// Add body content
TextRun bodyRun = new TextRun("This report contains sales data for Q4 2023.");
Paragraph bodyParagraph = new Paragraph();
bodyParagraph.AddTextRun(bodyRun);

// Add paragraphs to document
complexDoc.AddParagraph(titleParagraph);
complexDoc.AddParagraph(bodyParagraph);

// Save the document
complexDoc.SaveAs("assets/sales_report.docx");
using IronWord;
using IronWord.Models;

// Create a more complex Word document
WordDocument complexDoc = new WordDocument();

// Add a title paragraph with formatting
TextRun titleRun = new TextRun("Quarterly Sales Report")
{
    FontSize = 24,
    Bold = true,
    FontFamily = "Arial"
};
Paragraph titleParagraph = new Paragraph();
titleParagraph.AddTextRun(titleRun);

// Add body content
TextRun bodyRun = new TextRun("This report contains sales data for Q4 2023.");
Paragraph bodyParagraph = new Paragraph();
bodyParagraph.AddTextRun(bodyRun);

// Add paragraphs to document
complexDoc.AddParagraph(titleParagraph);
complexDoc.AddParagraph(bodyParagraph);

// Save the document
complexDoc.SaveAs("assets/sales_report.docx");
Imports IronWord
Imports IronWord.Models

' Create a more complex Word document
Dim complexDoc As New WordDocument()

' Add a title paragraph with formatting
Dim titleRun As New TextRun("Quarterly Sales Report") With {
    .FontSize = 24,
    .Bold = True,
    .FontFamily = "Arial"
}
Dim titleParagraph As New Paragraph()
titleParagraph.AddTextRun(titleRun)

' Add body content
Dim bodyRun As New TextRun("This report contains sales data for Q4 2023.")
Dim bodyParagraph As New Paragraph()
bodyParagraph.AddTextRun(bodyRun)

' Add paragraphs to document
complexDoc.AddParagraph(titleParagraph)
complexDoc.AddParagraph(bodyParagraph)

' Save the document
complexDoc.SaveAs("assets/sales_report.docx")
$vbLabelText   $csharpLabel

Documento de Word de salida

Documento Word de salida creado con IronWord mostrando contenido de texto formateado - archivo document.docx mostrado en Microsoft Word con párrafo de texto de ejemplo

Paso 4: Convierte un documento de Word a PDF con IronPDF

Ahora vamos a convertir nuestro documento de WORD a PDF con IronPDF:

using IronPdf;

// Code to convert DOCX file to PDF using IronPDF

// Create a DocxToPdfRenderer instance
var renderer = new DocxToPdfRenderer();

// Render the DOCX document as a PDF
var pdf = renderer.RenderDocxAsPdf("assets/document.docx");

// Save the resulting PDF
pdf.SaveAs("assets/word.pdf");
using IronPdf;

// Code to convert DOCX file to PDF using IronPDF

// Create a DocxToPdfRenderer instance
var renderer = new DocxToPdfRenderer();

// Render the DOCX document as a PDF
var pdf = renderer.RenderDocxAsPdf("assets/document.docx");

// Save the resulting PDF
pdf.SaveAs("assets/word.pdf");
Imports IronPdf

' Code to convert DOCX file to PDF using IronPDF

' Create a DocxToPdfRenderer instance
Private renderer = New DocxToPdfRenderer()

' Render the DOCX document as a PDF
Private pdf = renderer.RenderDocxAsPdf("assets/document.docx")

' Save the resulting PDF
pdf.SaveAs("assets/word.pdf")
$vbLabelText   $csharpLabel

El proceso es sencillo:

  • Crear un DocxToPdfRenderer
  • Convertir el documento de WORD a PDF
  • Guardar el resultado

Paso 5: Imprima el PDF con IronPrint

Por último, imprimamos nuestro PDF con IronPrint:

using IronPrint;
using System.Collections.Generic;

// Code for Printing using IronPrint

// Fetch printer names available in the system
List<string> printerNames = Printer.GetPrinterNames();

// Configure print settings
PrintSettings printerSettings = new PrintSettings();
foreach(string printerName in printerNames)
{
    if(printerName.Equals("Microsoft Print to PDF"))
    {
        printerSettings.PrinterName = printerName;
    }
}

// Set paper size to A4 and configure margins
printerSettings.PaperSize = PaperSize.A4;
Margins margins = new Margins(30, 10);
printerSettings.PaperMargins = margins;

// Print the PDF with the specified settings
Printer.Print("assets/word.pdf", printerSettings);
using IronPrint;
using System.Collections.Generic;

// Code for Printing using IronPrint

// Fetch printer names available in the system
List<string> printerNames = Printer.GetPrinterNames();

// Configure print settings
PrintSettings printerSettings = new PrintSettings();
foreach(string printerName in printerNames)
{
    if(printerName.Equals("Microsoft Print to PDF"))
    {
        printerSettings.PrinterName = printerName;
    }
}

// Set paper size to A4 and configure margins
printerSettings.PaperSize = PaperSize.A4;
Margins margins = new Margins(30, 10);
printerSettings.PaperMargins = margins;

// Print the PDF with the specified settings
Printer.Print("assets/word.pdf", printerSettings);
Imports IronPrint
Imports System.Collections.Generic

' Code for Printing using IronPrint

' Fetch printer names available in the system
Private printerNames As List(Of String) = Printer.GetPrinterNames()

' Configure print settings
Private printerSettings As New PrintSettings()
For Each printerName As String In printerNames
	If printerName.Equals("Microsoft Print to PDF") Then
		printerSettings.PrinterName = printerName
	End If
Next printerName

' Set paper size to A4 and configure margins
printerSettings.PaperSize = PaperSize.A4
Dim margins As New Margins(30, 10)
printerSettings.PaperMargins = margins

' Print the PDF with the specified settings
Printer.Print("assets/word.pdf", printerSettings)
$vbLabelText   $csharpLabel

Este código:

  • Obtener impresoras disponibles con Printer.GetPrinterNames()
  • Selecciona una impresora específica
  • Configura el tamaño del papel y los márgenes
  • Imprime el PDF

Vista previa de impresión mostrando el documento PDF convertido listo para imprimir - salida de IronPrint mostrando word.pdf con formato y márgenes adecuados

Para tener más control sobre las copias, las páginas múltiples, la escala de grises y los ppp, echa un vistazo a estos ejemplos de código. También puede habilitar los cuadros de diálogo de la impresora para la interacción del usuario.

¿Cuáles son las ventajas de utilizar IronPrint para imprimir?

He aquí por qué IronPrint destaca en las tareas de impresión con C#:

¿Por qué es importante la impresión asíncrona?

IronPrint ofrece funciones asíncronas que evitan que las operaciones de impresión bloqueen su aplicación. Tu interfaz de usuario sigue siendo receptiva durante los trabajos de impresión largos:

// Asynchronous printing example
using IronPrint;
using System.Threading.Tasks;

public async Task PrintDocumentAsync(string filePath)
{
    PrintSettings settings = new PrintSettings
    {
        PrinterName = "Default Printer",
        NumberOfCopies = 2
    };

    // Non-blocking print operation
    await Printer.PrintAsync(filePath, settings);
    Console.WriteLine("Print job completed!");
}
// Asynchronous printing example
using IronPrint;
using System.Threading.Tasks;

public async Task PrintDocumentAsync(string filePath)
{
    PrintSettings settings = new PrintSettings
    {
        PrinterName = "Default Printer",
        NumberOfCopies = 2
    };

    // Non-blocking print operation
    await Printer.PrintAsync(filePath, settings);
    Console.WriteLine("Print job completed!");
}
Imports IronPrint
Imports System.Threading.Tasks

Public Async Function PrintDocumentAsync(filePath As String) As Task
    Dim settings As New PrintSettings With {
        .PrinterName = "Default Printer",
        .NumberOfCopies = 2
    }

    ' Non-blocking print operation
    Await Printer.PrintAsync(filePath, settings)
    Console.WriteLine("Print job completed!")
End Function
$vbLabelText   $csharpLabel

¿Cómo mejoran la funcionalidad las opciones de impresión?

La clase Printer maneja varios tipos de archivos incluyendo PDF, PNG, JPG, TIFF y BMP. Esta versatilidad significa que puedes imprimir diferentes tipos de contenido sin cambiar tu enfoque.

¿En qué plataformas puedo realizar la implementación?

IronPrint funciona en Windows, Android, iOS y macOS. Tu código de impresión funciona de manera coherente en todas las plataformas, lo que facilita la implementación.

¿Qué ajustes de impresión se pueden personalizar?

A través de la clase PrintSettings, controlas:

  • Tamaño y orientación del papel
  • DPI y calidad de impresión
  • Copias y cotejo
  • Márgenes y maquetación
  • Impresión a doble cara
  • Rangos de páginas personalizados

¿Cómo se integra IronPrint con otras bibliotecas?

IronPrint funciona a la perfección con otros productos de Iron Software, como IronBarcode e IronPDF. El diseño coherente de la API facilita la creación, conversión e impresión de documentos en un único flujo de trabajo.

¿Por qué se considera que la API es fácil de usar?

Los nombres de métodos intuitivos de IronPrint y el soporte completo de IntelliSense lo hacen accesible para todos los desarrolladores. Puedes añadir la funcionalidad de impresión rápidamente sin una curva de aprendizaje pronunciada.

¿Qué recursos de apoyo hay disponibles?

Iron Software proporciona documentación completa, ejemplos, referencias de API y mejores prácticas. Su equipo de asistencia le ayuda a implementar las funciones de impresión de forma eficaz.

¿Cómo mejora IronPrint el control sobre la impresión?

IronPrint te ofrece un control preciso sobre todos los aspectos de la impresión. Establezca los tamaños de papel, los márgenes y los parámetros exactos para garantizar que el resultado final cumpla con los requisitos específicos. Supervise el estado de la impresora y gestione los errores para una gestión fiable de los trabajos de impresión.

¿Cuáles son los próximos pasos?

Ahora ya tienes todo lo necesario para crear documentos de WORD, convertirlos a PDF e imprimirlos en tus aplicaciones de C#. IronWord, IronPDF e IronPrint funcionan conjuntamente para ofrecer una solución completa de gestión de documentos. Tanto si estás creando aplicaciones web, móviles, de escritorio o para consolas, estas herramientas simplifican tus flujos de trabajo con documentos.

Para conocer más técnicas de impresión, visita la página de documentación. Explora funciones como la impresión por lotes y los procesadores de impresión personalizados para mejorar las capacidades de tu aplicación.

Las licencias de IronPrint comienzan desde $999. Descarga la biblioteca y añade impresión profesional a tu aplicación C# hoy mismo.

Preguntas Frecuentes

¿Cómo puedo imprimir un documento de Word sin perder el formato en C#?

Para imprimir un documento de Word manteniendo su formato en C#, utilice IronWord para crear el documento, conviértalo a PDF usando IronPDF y luego imprímalo con IronPrint. Esto asegura que el formato del documento se conserve a lo largo del proceso.

¿Cuáles son los beneficios de usar IronPrint para la impresión de documentos en C#?

IronPrint ofrece impresión asincrónica, ajustes personalizables como tamaño y orientación del papel, compatibilidad multiplataforma e integración perfecta con otras bibliotecas de Iron Software, proporcionando una solución robusta para tareas de impresión en un entorno C#.

¿Cómo se integran IronWord, IronPDF e IronPrint en un proyecto de C#?

Para integrar estas bibliotecas en un proyecto de C#, instálelas a través de la Consola del Administrador de paquetes NuGet en Visual Studio. Use Install-Package IronWord, Install-Package IronPDF, y Install-Package IronPrint para agregar las funcionalidades necesarias para la creación de Word, conversión a PDF e impresión.

¿Puedo personalizar los ajustes de impresión al usar IronPrint?

Sí, IronPrint le permite personalizar una variedad de ajustes de impresión, incluyendo tamaño de papel, orientación, DPI, número de copias, nombre de impresora, márgenes e impresión en escala de grises, brindándole un control total sobre el proceso de impresión.

¿Es IronPrint adecuado para tareas de impresión multiplataforma?

IronPrint está diseñado para soporte multiplataforma, lo que le permite desplegarse en Windows, macOS, Android e iOS, haciéndolo versátil para varios entornos de desarrollo.

¿Qué pasos están involucrados en la creación e impresión de un documento de Word en C#?

Primero, use IronWord para crear el documento de Word. Luego, conviértalo a un PDF usando DocxToPdfRenderer de IronPDF. Finalmente, imprima el PDF usando IronPrint, asegurándose de que el formato del documento se mantenga.

¿Cómo mejora IronPrint la gestión de documentos en aplicaciones C#?

IronPrint mejora la gestión de documentos al proporcionar configuraciones de impresión completas, impresión asincrónica e integración perfecta con otras bibliotecas de Iron Software, facilitando el procesamiento eficiente e impresión de documentos en aplicaciones C#.

¿Qué herramientas se recomiendan para generar e imprimir documentos en C#?

Iron Software recomienda usar IronWord para la creación de documentos, IronPDF para la conversión a PDF e IronPrint para el proceso de impresión final. Esta combinación asegura resultados de alta calidad y facilidad de uso.

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

Leer más

Equipo de soporte de Iron

Estamos disponibles online las 24 horas, 5 días a la semana.
Chat
Email
Llámame