Saltar al pie de página
USANDO IRONPRINT

Cómo Imprimir con una Impresora de Red en C#

La impresión programática en impresoras de red es una tarea común en varias aplicaciones de software. Ya sea que estés construyendo una aplicación de escritorio, móvil o un servicio web, la capacidad de enviar documentos directamente a una impresora de red puede mejorar en gran medida la usabilidad y eficiencia de tu software. En este artículo, exploraremos cómo imprimir en una impresora de red utilizando C# e IronPrint de Iron Software.

How to Print with Network Printer in C

  1. Crea un nuevo proyecto para imprimir documentos usando IronPrint.
  2. Instala IronPrint en un nuevo proyecto.
  3. Enumera las impresoras de red disponibles para imprimir documentos.
  4. Imprime documentos PDF usando IronPrint.
  5. Imprime documentos PDF usando IronPrint con diálogo.
  6. Impresión avanzada con configuración de impresión.

Configuración del entorno

Antes de sumergirse en la parte de codificación, asegurémonos de que nuestro entorno esté configurado correctamente. Para imprimir en una impresora de red en C#, necesitas tener lo siguiente:

  1. Asegúrate de que una impresora de red sea accesible desde la máquina donde se ejecutará tu aplicación C#.
  2. La dirección de red de la impresora (dirección IP o el nombre de la impresora de red).
  3. El/los controladores de impresora necesarios están instalados en la máquina.
  4. Privilegios administrativos para instalar impresoras o controladores si se requiere.

IronPrint

Antes de sumergirnos en los detalles de la implementación, familiaricémonos con cómo comenzar con IronPrint:

  1. Instalación: IronPrint se puede instalar fácilmente a través del gestor de paquetes NuGet. Simplemente visita la página de NuGet y sigue las instrucciones de instalación.
  2. Documentación: Consulte la documentación oficial para obtener una guía de inicio rápido y una referencia completa de la API.

Compatibilidad y Soporte: IronPrint ofrece amplia compatibilidad y soporte en varios entornos y tipos de proyecto:

  • Compatibilidad con versiones de .NET: IronPrint es compatible con C#, VB.NET y F#, incluyendo .NET 8, 7, 6, 5 y Core 3.1+.
  • Sistemas operativos y entornos: IronPrint es compatible con Windows (7+), macOS (10+), iOS (11+) y Android API 21+ (v5 "Lollipop").
  • Tipos de proyectos: Tanto si estás desarrollando aplicaciones móviles (Xamarin, MAUI, Avalonia), de escritorio (WPF, MAUI, Windows Avalonia) o de consola, IronPrint te ofrece todo lo que necesitas.

Ahora veamos cómo imprimir con IronPrint con el siguiente ejemplo.

using IronPrint;

namespace IronPrintDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // Configure printer setting
            PrintSettings printSettings = new PrintSettings();
            printSettings.Dpi = 220;
            printSettings.NumberOfCopies = 10;
            printSettings.PaperOrientation = PaperOrientation.Portrait;

            // Print the document
            Printer.Print("awesomeIronPrint.pdf", printSettings);
        }
    }
}
using IronPrint;

namespace IronPrintDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // Configure printer setting
            PrintSettings printSettings = new PrintSettings();
            printSettings.Dpi = 220;
            printSettings.NumberOfCopies = 10;
            printSettings.PaperOrientation = PaperOrientation.Portrait;

            // Print the document
            Printer.Print("awesomeIronPrint.pdf", printSettings);
        }
    }
}
$vbLabelText   $csharpLabel

System.Printing

El espacio de nombres System.Printing en C# contiene clases e interfaces que permiten a los desarrolladores interactuar con impresoras, colas de impresión, servidores de impresión y trabajos de impresión mediante programación. Algunas clases e interfaces clave dentro de este espacio de nombres incluyen:

  1. PrintQueue: Representa una impresora o un dispositivo de impresión conectado al sistema.
  2. PrintServer: Representa un servidor de impresión en la red.
  3. PrintSystemJobInfo: Proporciona información sobre un trabajo de impresión, como su estado y sus propiedades.
  4. PrintTicket: Representa la configuración de un trabajo de impresión, incluyendo el tamaño del papel, la orientación y la calidad de impresión.

Introducción a System.Printing: Antes de profundizar en el código, asegurémonos de que comprendemos los fundamentos de cómo funciona la impresión con System.Printing:

  1. PrintQueue Selección: Debe identificar el objeto PrintQueue que representa la impresora que desea utilizar para imprimir.
  2. PrintTicket Configuración: Opcionalmente, puede configurar el objeto PrintTicket para especificar ajustes de impresión como el tamaño del papel, la orientación y el número de copias.
  3. Impresión de documentos: Por último, envía el documento que deseas imprimir al PrintQueue seleccionado.

Implementación de la impresión de documentos con System.Printing: Ahora, veamos el proceso de impresión de un documento utilizando System.Printing con el siguiente ejemplo:

Aquí está el código fuente:

using System;
using System.IO;
using System.Printing;

class Program
{
    static void Main(string[] args)
    {
        // Specify the path to the document to be printed on the local printer
        string documentPath = "path/to/your/document.pdf";

        // Instantiate a Printer Server object representing the local print server
        using (PrintServer printServer = new PrintServer())
        {
            // Get the default PrintQueue from the PrintServer default 
            PrintQueue defaultPrintQueue = printServer.DefaultPrintQueue;

            // Create a PrintTicket object to specify print settings (optional)
            PrintTicket printTicket = new PrintTicket();

            // Configure print settings, e.g., number of copies
            printTicket.CopyCount = 1;

            // Print the document to the default PrintQueue with the specified PrintTicket
            defaultPrintQueue.AddJob("MyPrintJob", documentPath, false, printTicket);
        }

        Console.WriteLine("Document sent to print queue.");
    }
}
using System;
using System.IO;
using System.Printing;

class Program
{
    static void Main(string[] args)
    {
        // Specify the path to the document to be printed on the local printer
        string documentPath = "path/to/your/document.pdf";

        // Instantiate a Printer Server object representing the local print server
        using (PrintServer printServer = new PrintServer())
        {
            // Get the default PrintQueue from the PrintServer default 
            PrintQueue defaultPrintQueue = printServer.DefaultPrintQueue;

            // Create a PrintTicket object to specify print settings (optional)
            PrintTicket printTicket = new PrintTicket();

            // Configure print settings, e.g., number of copies
            printTicket.CopyCount = 1;

            // Print the document to the default PrintQueue with the specified PrintTicket
            defaultPrintQueue.AddJob("MyPrintJob", documentPath, false, printTicket);
        }

        Console.WriteLine("Document sent to print queue.");
    }
}
$vbLabelText   $csharpLabel

IronPrint Vs System.Printing

Cómo imprimir con una impresora de red en C#: Figura 1 - Tabla comparativa rápida entre IronPrint y System.Printing

Esta tabla ofrece una visión general rápida de las funciones y características de IronPrint y System.Printing, lo que ayuda a los desarrolladores a tomar decisiones informadas basadas en sus requisitos específicos y plataformas de destino.

Paso 1: Cree un nuevo proyecto para imprimir documentos con IronPrint

Crea una aplicación de consola en Visual Studio como se muestra a continuación.

Cómo imprimir con una impresora de red en C#: Figura 2 - Creación de una aplicación de consola

Proporciona un nombre de proyecto y una ubicación.

Cómo imprimir con una impresora de red en C#: Figura 3 - Introduzca un nombre para el proyecto

Selecciona la versión de .NET.

Cómo imprimir con una impresora de red en C#: Figura 4 - Seleccionar la versión adecuada de .NET

Ahora el proyecto está creado y listo para más codificación.

Paso 2: Instalar IronPrint en un nuevo proyecto

Instala IronPrint desde el Administrador de Paquetes de Visual Studio como se muestra a continuación.

Cómo imprimir con una impresora de red en C#: Figura 5 - Buscar IronPrint a través del Administrador de paquetes de Visual Studio

IronPrint también se puede instalar utilizando el siguiente comando:

Install-Package IronPrint

Paso 3: Enumere las impresoras de red disponibles para imprimir documentos

Para listar los nombres de impresoras con IronPrint, usa el código a continuación:

using System;
using System.Collections.Generic;
using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Get printer names using printer drivers
            List<string> printersName = Printer.GetPrinterNames();
            foreach (var printer in printersName)
            {
                Console.WriteLine(printer);
            }
        }
    }
}
using System;
using System.Collections.Generic;
using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Get printer names using printer drivers
            List<string> printersName = Printer.GetPrinterNames();
            foreach (var printer in printersName)
            {
                Console.WriteLine(printer);
            }
        }
    }
}
$vbLabelText   $csharpLabel

Explicación del código

  1. Utilice Printer.GetPrinterNames para obtener todos los controladores de impresora disponibles.
  2. Imprima los nombres utilizando Console.WriteLine.

Resultado

Cómo imprimir con una impresora de red en C#: Figura 6 - Ejemplo de salida de las impresoras disponibles

Paso 4: Imprima el documento PDF con IronPrint

Usa el código a continuación para imprimir el documento en silencio:

using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Print the document silently
            Printer.Print("sample.pdf");
        }
    }
}
using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Print the document silently
            Printer.Print("sample.pdf");
        }
    }
}
$vbLabelText   $csharpLabel

Después de la ejecución, el documento se añade a la cola de impresión como se muestra en el resultado.

Resultado

Cómo imprimir con una impresora de red en C#: Figura 7 - Ejemplo de salida que muestra el documento añadido a la cola de impresión

Paso 5: Imprima el documento PDF usando IronPrint con Dialog

Usa el código a continuación para imprimir el documento con el cuadro de diálogo:

using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Print with Dialog
            Printer.ShowPrintDialog("sample.pdf");
        }
    }
}
using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Print with Dialog
            Printer.ShowPrintDialog("sample.pdf");
        }
    }
}
$vbLabelText   $csharpLabel

Explicación del código

  1. Utilizando ShowPrintDialog de IronPrint podemos imprimir con Dialog.
  2. Una vez abierto el cuadro de diálogo, selecciona la impresora requerida para imprimir el documento.

Resultado

Cómo imprimir con una impresora de red en C#: Figura 8 - Seleccionar la impresora correcta

Paso 6: Impresión avanzada con configuración de impresión

La impresión de documentos con configuración avanzada es compatible en IronPrint. Soporta las siguientes Propiedades:

  1. PaperSize: Especifica las dimensiones del papel utilizadas por la impresora.
  2. PaperOrientation: Define la orientación del papel, como Automática, Vertical u Horizontal.
  3. DPI: Establece la resolución de impresión deseada en puntos por pulgada. El valor predeterminado es 300, comúnmente empleado en impresión comercial. El DPI real puede estar limitado por las capacidades de la impresora.
  4. NumberOfCopies: Indica el número de copias idénticas que se deben imprimir de un documento.
  5. PrinterName: Especifica el nombre de la impresora designada para las tareas de impresión.
  6. PaperMargins: Determina los márgenes de impresión, medidos en milímetros.
  7. Grayscale: Un valor booleano que determina si se imprime en escala de grises. El valor predeterminado es falso.

Ahora veamos un ejemplo de código:

using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Configure custom print settings
            PrintSettings printSettings = new PrintSettings();
            printSettings.Dpi = 150;
            printSettings.NumberOfCopies = 2;
            printSettings.PaperOrientation = PaperOrientation.Portrait;

            // Print the required document
            Printer.Print("sample.pdf", printSettings);
        }
    }
}
using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Configure custom print settings
            PrintSettings printSettings = new PrintSettings();
            printSettings.Dpi = 150;
            printSettings.NumberOfCopies = 2;
            printSettings.PaperOrientation = PaperOrientation.Portrait;

            // Print the required document
            Printer.Print("sample.pdf", printSettings);
        }
    }
}
$vbLabelText   $csharpLabel

Explicación del código

  1. El código comienza importando el espacio de nombres necesario, IronPrint, que contiene las clases y métodos requeridos para imprimir.
  2. Dentro del espacio de nombres IronPrintDemo, hay una clase llamada Program declarada como pública.
  3. El método Main sirve como punto de entrada del programa.
  4. Dentro del método Main:
    • Se instancia un objeto PrintSettings denominado printSettings para configurar los ajustes de impresión personalizados.
    • La propiedad Dpi de printSettings está establecida en 150, lo que indica una resolución de impresión de 150 puntos por pulgada.
    • La propiedad NumberOfCopies de printSettings se establece en 2, lo que especifica que se imprimirán dos copias idénticas del documento.
    • La propiedad PaperOrientation de printSettings se establece en PaperOrientation.Portrait, lo que indica que el documento se imprimirá en orientación vertical.
  5. Por último, se invoca el método Printer.Print con los parámetros "sample.pdf" (el nombre del documento que se va a imprimir) y printSettings (la configuración de impresión personalizada). Este método maneja el proceso de impresión utilizando la configuración especificada.

Resultado

Cómo imprimir con una impresora de red en C#: Figura 9 - Ejemplo de salida que muestra el documento PDF añadido a la cola de impresión para su impresión

Licencia

IronPrint de Iron Software es una biblioteca empresarial y requiere una licencia para funcionar. Agregar una clave de licencia de IronPrint hace que el proyecto sea funcional sin restricciones ni marcas de agua. Compra una licencia aquí o regístrate para obtener una clave de prueba gratuita de 30 días aquí.

Una vez obtenida la clave de licencia, la clave debe colocarse en el archivo appSettings.json en la aplicación.

{
  "IronPrint.License.LicenseKey": "IRONPRINT.KEY"
}

Esto imprimirá documentos sin restricciones y marcas de agua.

Conclusión

En resumen, IronPrint y System.Printing tienen cada uno sus puntos fuertes y son adecuados para diferentes escenarios. IronPrint ofrece una solución optimizada y multiplataforma centrada en la simplicidad y la versatilidad, mientras que System.Printing ofrece integración nativa y un control minucioso, especialmente para aplicaciones basadas en Windows. Los desarrolladores deben considerar sus requisitos específicos y objetivos de plataforma al elegir entre estas bibliotecas de impresión para sus proyectos en C#.

IronPrint simplifica la impresión de documentos dentro de aplicaciones .NET al proporcionar una API fácil de usar y una amplia compatibilidad en varias plataformas y tipos de proyectos. Siguiendo los pasos descritos en este artículo, puedes integrar sin problemas las funciones de impresión en tus proyectos .NET, mejorando su usabilidad y productividad. Explora las posibilidades con IronPrint y desbloquea un mundo de impresión de documentos eficiente dentro de tus aplicaciones.

Preguntas Frecuentes

¿Cómo puedo imprimir en una impresora de red usando C#?

Puede usar IronPrint para imprimir documentos en una impresora de red en C#. Permite enviar documentos directamente a una impresora de red con métodos que manejan tareas de impresión de manera programática.

¿Cuáles son los pasos para configurar la impresión en una impresora de red en C#?

Primero, asegúrese de tener acceso a una impresora de red y su dirección. Instale los controladores necesarios e IronPrint a través del Gestor de Paquetes NuGet. Luego, use los métodos de IronPrint para gestionar y enviar trabajos de impresión.

¿Cómo instalo IronPrint en mi proyecto de C#?

Puede instalar IronPrint usando el Gestor de Paquetes NuGet en Visual Studio o ejecutando el comando Install-Package IronPrint en la Consola del Administrador de Paquetes.

¿Qué versiones de .NET son compatibles con IronPrint?

IronPrint soporta C#, VB.NET y F#, y es compatible con .NET 8, 7, 6, 5, y Core 3.1+.

¿Puede usar IronPrint en diferentes sistemas operativos?

Sí, IronPrint es compatible con Windows (7+), macOS (10+), iOS (11+) y Android API 21+ (v5 'Lollipop').

¿Cómo se compara IronPrint con System.Printing en C#?

IronPrint ofrece una solución multiplataforma con un enfoque en la simplicidad, mientras que System.Printing proporciona una integración y control nativos para aplicaciones basadas en Windows.

¿Cómo puedo listar las impresoras de red disponibles usando IronPrint?

Puede usar el método Printer.GetPrinterNames() en IronPrint, que devuelve una lista de los controladores de impresora disponibles.

¿Qué opciones avanzadas de impresión están disponibles con IronPrint?

IronPrint soporta configuraciones avanzadas que incluyen tamaño de papel, orientación del papel, DPI, número de copias, nombre de la impresora, márgenes del papel y escala de grises.

¿Qué opciones de licencia están disponibles para IronPrint?

Las licencias de IronPrint se pueden comprar o puede registrarse para una prueba gratuita de 30 días en el sitio web de Iron Software. La clave de licencia se coloca en el archivo appSettings.json de su aplicación.

¿Qué comando se usa para instalar IronPrint a través de la línea de comandos?

Para instalar IronPrint a través de la línea de comandos, use el comando Install-Package IronPrint.

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