Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
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 utilizando C# yIronPrint deIron Software.
Crear un nuevo proyecto para imprimir documentos medianteIronPrint.
InstaleIronPrint a un nuevo proyecto.
Lista de impresoras de red disponibles para imprimir documentos.
Imprimir documentos PDF conIronPrint.
Imprimir documentos PDF conIronPrint con Dialog.
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 la 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 puede instalarse fácilmente a través de NuGet Package Manager. Sólo tiene que visitar la páginaPágina NuGet y siga las instrucciones de instalación.
Documentación: Consulte ladocumentació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 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:
PrintQueue
: Representa una impresora o dispositivo de impresión conectado al sistema.
ServidorImpresión
: 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 sumergirnos en el código, vamos a asegurarnos de que tenemos una comprensión básica de cómo funciona la impresión con System.Printing
:
Selección de PrintQueue
: Es necesario identificar el objeto PrintQueue
que representa la impresora que se desea utilizar para imprimir.
Configuración de PrintTicket
: 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.
Impresión de documentos: Por último, se envía el documento a imprimir a la PrintQueue
seleccionada.
Implementación de la 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 proporciona una rápida visión general de las funciones y características de IronPrint y System.Printing
, ayudando a los desarrolladores a tomar decisiones informadas basadas en sus requisitos específicos y objetivos de 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 Dialog
IronPrint permite imprimir documentos con configuraciones avanzadas. Admite las siguientes propiedades:
TamañoPapel
: Especifica las dimensiones del papel utilizado por la impresora.
Orientación del papel
: 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.
NúmeroDeCopias
: Indica el número de copias idénticas a imprimir para un documento.
NombreImpresora
: Especifica el nombre de la impresora designada para las tareas de impresión.
MargenesPapel
: Determina los márgenes para la impresión, medidos en milímetros.
Escala de grises
: 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 public.
El método Main sirve como punto de entrada del programa.
Dentro del método Main:
Un objeto PrintSettings
llamado printSettings
es instanciado para configurar ajustes de impresión personalizados.
La propiedad Dpi de printSettings
se establece en 150, indicando 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
se establece en PaperOrientation.Portrait
, indicando 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 deIron 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 obtener una clave de prueba gratuita de 30 díasaquí.
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
tienen cada uno sus puntos fuertes y son adecuados para diferentes escenarios. IronPrint proporciona una solución simplificada y multiplataforma centrada en la sencillez y la versatilidad, mientras que System.Printing
ofrece integración nativa y control detallado, especialmente 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.
9 productos API .NET para sus documentos de oficina