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.
Cómo imprimir con una impresora de red en C
- Crea un nuevo proyecto para imprimir documentos usando IronPrint.
- Instala IronPrint en un nuevo proyecto.
- Enumera las impresoras de red disponibles para imprimir documentos.
- Imprime documentos PDF usando IronPrint.
- Imprime documentos PDF usando IronPrint con diálogo.
- 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:
- Asegúrate de que una impresora de red sea accesible desde la máquina donde se ejecutará tu aplicación C#.
- La dirección de red de la impresora (dirección IP o el nombre de la impresora de red).
- El/los controladores de impresora necesarios están instalados en la máquina.
- Privilegios administrativos para instalar impresoras o controladores si se requiere.
Impresión de hierro
Antes de sumergirnos en los detalles de la implementación, familiaricémonos con cómo comenzar con IronPrint:
- Instalación: IronPrint se puede instalar fácilmente a través del Administrador de paquetes NuGet. Simplemente visita la página de NuGet y sigue las instrucciones de instalación.
- Documentación: Consulta la documentación oficial para una guía rápida de inicio y una referencia completa de la API.
Compatibilidad y Soporte: IronPrint ofrece amplia compatibilidad y soporte en varios entornos y tipos de proyecto:
- Soporte de Versión 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 Proyecto: Ya sea que estés desarrollando aplicaciones móviles (Xamarin, MAUI, Avalonia), de escritorio (WPF, MAUI, Windows Avalonia), o de consola, IronPrint está cubierto.
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);
}
}
}Imports IronPrint
Namespace IronPrintDemo
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Configure printer setting
Dim printSettings As New PrintSettings()
printSettings.Dpi = 220
printSettings.NumberOfCopies = 10
printSettings.PaperOrientation = PaperOrientation.Portrait
' Print the document
Printer.Print("awesomeIronPrint.pdf", printSettings)
End Sub
End Class
End NamespaceSistema.Impresión
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 programáticamente. Algunas clases e interfaces clave dentro de este espacio de nombres incluyen:
PrintQueue: Representa una impresora o dispositivo de impresión conectado al sistema.PrintServer: Representa un servidor de impresión en la red.PrintSystemJobInfo: Proporciona información sobre un trabajo de impresión, tales como su estado y propiedades.PrintTicket: Representa la configuración de un trabajo de impresión, incluidos el tamaño del papel, la orientación y la calidad de impresión.
Comenzando con System.Printing: Antes de entrar en el código, asegurémonos de que tenemos una comprensión básica de cómo funciona la impresión con System.Printing:
- Selección de
PrintQueue: Necesitas identificar el objetoPrintQueueque representa la impresora que deseas usar para imprimir. - Configuración de
PrintTicket: Opcionalmente, puedes configurar el objetoPrintTicketpara especificar configuraciones de impresión como el tamaño del papel, la orientación y el número de copias. - Impresión de Documentos: Finalmente, envías el documento para imprimir a la
PrintQueueseleccionada.
Implementando la Impresión de Documentos con System.Printing: Ahora, repasemos el proceso de imprimir 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.");
}
}Imports System
Imports System.IO
Imports System.Printing
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Specify the path to the document to be printed on the local printer
Dim documentPath As String = "path/to/your/document.pdf"
' Instantiate a Printer Server object representing the local print server
Using printServer As New PrintServer()
' Get the default PrintQueue from the PrintServer default
Dim defaultPrintQueue As PrintQueue = printServer.DefaultPrintQueue
' Create a PrintTicket object to specify print settings (optional)
Dim printTicket As 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)
End Using
Console.WriteLine("Document sent to print queue.")
End Sub
End ClassImpresión de hierro vs. System.Printing

Esta tabla proporciona una visión general rápida de las características y características de IronPrint y System.Printing, ayudando a los desarrolladores a tomar decisiones informadas según sus requisitos específicos y objetivos de plataforma.
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.

Proporciona un nombre de proyecto y una ubicación.

Selecciona la versión 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.

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);
}
}
}
}Imports System
Imports System.Collections.Generic
Imports IronPrint
Namespace IronPrintDemo
Public Class Program
Public Shared Sub Main()
' Get printer names using printer drivers
Dim printersName As List(Of String) = Printer.GetPrinterNames()
For Each printer In printersName
Console.WriteLine(printer)
Next printer
End Sub
End Class
End NamespaceExplicación del código
- Usa
Printer.GetPrinterNamespara obtener todos los controladores de impresoras disponibles. - Imprime los nombres utilizando
Console.WriteLine.
Resultado

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");
}
}
}Imports IronPrint
Namespace IronPrintDemo
Public Class Program
Public Shared Sub Main()
' Print the document silently
Printer.Print("sample.pdf")
End Sub
End Class
End NamespaceDespués de la ejecución, el documento se añade a la cola de impresión como se muestra en el resultado.
Resultado

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");
}
}
}Imports IronPrint
Namespace IronPrintDemo
Public Class Program
Public Shared Sub Main()
' Print with Dialog
Printer.ShowPrintDialog("sample.pdf")
End Sub
End Class
End NamespaceExplicación del código
- Usando
ShowPrintDialogde IronPrint podemos imprimir con Diálogo. - Una vez abierto el cuadro de diálogo, selecciona la impresora requerida para imprimir el documento.
Resultado

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:
PaperSize: Especifica las dimensiones del papel utilizadas por la impresora.PaperOrientation: Define la orientación del papel, como Automático, Vertical o Apaisado.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.NumberOfCopies: Indica el número de copias idénticas para imprimir de un documento.PrinterName: Especifica el nombre de la impresora designada para tareas de impresión.PaperMargins: Determina los márgenes para la impresión, medidos en milímetros.Grayscale: Un valor booleano que determina si imprimir 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);
}
}
}Imports IronPrint
Namespace IronPrintDemo
Public Class Program
Public Shared Sub Main()
' Configure custom print settings
Dim printSettings As New PrintSettings()
printSettings.Dpi = 150
printSettings.NumberOfCopies = 2
printSettings.PaperOrientation = PaperOrientation.Portrait
' Print the required document
Printer.Print("sample.pdf", printSettings)
End Sub
End Class
End NamespaceExplicación del código
- El código comienza importando el espacio de nombres necesario, IronPrint, que contiene las clases y métodos requeridos para imprimir.
- Dentro del espacio de nombres
IronPrintDemo, hay una clase llamada Program declarada como pública. - El método Main sirve como punto de entrada del programa.
- Dentro del método Main:
- Se instancia un objeto
PrintSettingsllamadoprintSettingspara configurar ajustes de impresión personalizados. - Se establece la propiedad
DpideprintSettingsen 150, indicando una resolución de impresión de 150 puntos por pulgada. - La propiedad
NumberOfCopiesdeprintSettingsse establece en 2, especificando que se imprimirán dos copias idénticas del documento. - Se establece la propiedad
PaperOrientationdeprintSettingsenPaperOrientation.Portrait, indicando que el documento se imprimirá en orientación vertical.
- Se instancia un objeto
- Finalmente, se invoca el método
Printer.Printcon los parámetros "sample.pdf" (el nombre del documento a imprimir) yprintSettings(los ajustes de impresión personalizados). Este método maneja el proceso de impresión utilizando la configuración especificada.
Resultado

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 sus fortalezas y son adecuados para diferentes escenarios. IronPrint proporciona una solución simplificada y multiplataforma con un enfoque en la simplicidad y la versatilidad, mientras que System.Printing ofrece integración nativa y control detallado, particularmente 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.








