Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
La impresión programática en impresoras de red es una tarea habitual en diversas aplicaciones de software. Tanto si está creando una aplicación de escritorio o móvil como un servicio web, la posibilidad de enviar documentos directamente a una impresora de red puede mejorar enormemente la facilidad de uso y la eficacia de su software. En este artículo, exploraremos cómo imprimir en una impresora de red usando C# y IronPrint de Iron Software.
Cree un nuevo proyecto para imprimir documentos usando IronPrint.
Instala IronPrint en un nuevo proyecto.
Lista de impresoras de red disponibles para imprimir documentos.
Imprime documentos PDF usando IronPrint.
Imprime documentos PDF usando IronPrint con Diálogo.
Antes de profundizar en la parte de codificación, vamos a asegurarnos de que nuestro entorno está configurado correctamente. Para imprimir en una impresora de red en C#, necesita lo siguiente:
Asegúrese de que hay una impresora de red accesible desde la máquina donde se ejecutará su aplicación C#.
La dirección de red de la impresora (dirección IP o nombre de impresora en red).
Controladores de impresora necesarios instalados en la máquina.
Antes de sumergirnos en los detalles de la implementación, familiaricémonos con cómo empezar a utilizar 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: 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 una amplia compatibilidad y soporte en varios entornos y tipos de proyectos:
Ahora veamos cómo imprimir con IronPrint con el siguiente ejemplo.
using IronPrint;
// 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;
// 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
' Configure printer setting
Private printSettings As New PrintSettings()
printSettings.Dpi = 220
printSettings.NumberOfCopies = 10
printSettings.PaperOrientation = PaperOrientation.Portrait
' Print the document
Printer.Print("awesomeIronPrint.pdf", printSettings)
El espacio de nombres System.Printing
en C# contiene clases e interfaces que permiten a los desarrolladores interactuar de manera programática con impresoras, colas de impresión, servidores de impresión y trabajos de impresión. 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, como su estado y propiedades.
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.
Primeros pasos con System.Printing
: Antes de profundizar en el código, aseguremos tener una comprensión básica de cómo funciona la impresión con System.Printing
:
PrintQueue
Selección: Necesitas identificar el objeto PrintQueue
que representa la impresora que deseas usar para imprimir.
PrintTicket
Configuración: Opcionalmente, puedes configurar el objeto PrintTicket
para 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 a imprimir a la PrintQueue
seleccionada.
Implementación de impresión de documentos con System.Printing
: Ahora, vamos a recorrer 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, paper size, orientation
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, paper size, orientation
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, paper size, orientation
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 Class
System.Printing
Esta tabla ofrece una visión general rápida de las características y cualidades de IronPrint y System.Printing
, ayudando a los desarrolladores a tomar decisiones informadas basadas en sus requisitos específicos y los objetivos de la plataforma.
Cree una aplicación de consola en Visual Studio como se muestra a continuación.
Indique el nombre y la ubicación del proyecto.
Seleccione la versión .NET.
Ahora el proyecto está creado y listo para seguir codificando.
Instale IronPrint desde Visual Studio Package Manager como se muestra a continuación.
IronPrint también puede instalarse utilizando el siguiente comando:
Install-Package IronPrint
Para listar los nombres de las impresoras usando IronPrint use el siguiente código:
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 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 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 Namespace
Utilice Printer.GetPrinterNames
para obtener todos los controladores de impresora disponibles.
Console.WriteLine
.Utilice el código siguiente 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 Namespace
Tras la ejecución, el documento se añade a la cola de impresión como se muestra en la salida.
Utilice el siguiente código para imprimir el documento con el 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 Namespace
Usando ShowPrintDialog
de IronPrint podemos imprimir con diálogo
IronPrint permite imprimir documentos con configuraciones avanzadas. Admite las siguientes propiedades:
PaperSize
: Especifica las dimensiones del papel utilizado por la impresora.
PaperOrientation
: Define la orientación del papel, como Automático, Vertical u Horizontal.
DPI
: Establece la resolución de impresión deseada en puntos por pulgada. El valor por defecto es 300, empleado habitualmente en la impresión comercial. Los PPP reales pueden estar limitados por las capacidades de la impresora.
NumberOfCopies
: Indica el número de copias idénticas que se imprimirán para 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 se imprime en escala de grises. Por defecto es false.
Veamos ahora un ejemplo de código:
using IronPrint;
namespace IronPrintDemo;
public class Program
{
public static void Main()
{
// Configure custom print setting
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 setting
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 setting
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 Namespace
El código comienza con la importación del espacio de nombres necesario IronPrint, que presumiblemente contiene las clases y métodos necesarios para la impresión.
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 PrintSettings
llamado printSettings
para configurar ajustes de impresión personalizados.
La propiedad Dpi de printSettings
se establece 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, especificando que se imprimirán dos copias idénticas del documento.
PaperOrientation
de printSettings
está configurada en PaperOrientation.Portrait
, lo que indica que el documento se imprimirá en orientación vertical.printSettings
(la configuración de impresión personalizada). Este método gestiona presumiblemente el proceso de impresión utilizando la configuración especificada.IronPrint de Iron Software es una biblioteca empresarial y requiere una licencia para funcionar. Al añadir una clave de licencia IronPrint, el proyecto se activa sin restricciones ni marcas de agua. Compre una licencia aquí o regístrese para una clave de prueba gratuita de 30 días aquí.
Una vez obtenida la clave de licencia, es necesario colocarla en el archivo appSettings.json de la aplicación.
{
"IronPrint.License.LicenseKey": "IRONPRINT.KEY"
}
Esto imprimirá documentos sin restricciones ni marcas de agua.
En resumen, IronPrint y System.Printing
cada uno tiene sus fortalezas y es adecuado para diferentes escenarios. IronPrint proporciona una solución optimizada 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 tener en cuenta sus requisitos específicos y los objetivos de la plataforma a la hora de elegir entre estas bibliotecas de impresión para sus proyectos de C#.
IronPrint simplifica la impresión de documentos dentro de las aplicaciones .NET proporcionando una API fácil de usar y una amplia compatibilidad entre varias plataformas y tipos de proyectos. Siguiendo los pasos descritos en este artículo, puede integrar perfectamente la funcionalidad de impresión en sus proyectos .NET, mejorando su usabilidad y productividad. Explore las posibilidades de IronPrint y descubra un mundo de impresión eficaz de documentos en sus aplicaciones.