IRONSOFTWAREHOME

El método Print() se cuelga en WPF y WinForms

Curtis Chau
Curtis Chau
Updated: 29 de junio de 2026

Cuando llamas al método sincrónico Print() en una aplicación WPF o WinForms, el método se invoca pero nunca se completa. La llamada se cuelga indefinidamente, bloqueando el hilo y congelando el UI incluso cuando el trabajo de impresión en sí es válido.

var printer = new IronPrint.Printer();
printer.Print("Test print"); // Hangs here
C#

Este comportamiento es el esperado. El sincrónico Print() se ejecuta en el hilo de la interfaz de usuario de la aplicación, donde el Dispatcher de WPF y el contexto de subprocesos entran en conflicto con la canalización de impresión de IronPrint y bloquean la llamada.

Solución

Llama a la API asíncrona en lugar de a la sincrónica.

var printer = new IronPrint.Printer();
await printer.PrintAsync("Test print");
C#

PrintAsync() mueve la operación de impresión fuera del camino bloqueante, por lo que el trabajo se completa y la interfaz de usuario se mantiene receptiva tanto en WPF como en WinForms.

Bestes prácticas

  • Actualizar IronPrint: ejecuta la última versión para recoger la solución donde esté disponible.
  • Prefiera las API asíncronas: utilice PrintAsync() en WPF y WinForms para evitar bloqueos de hilos de interfaz de usuario.
  • Nunca bloquee en el hilo principal: evite .Result y .Wait() contra una llamada asíncrona.
  • Descargar tareas de I/O prolongadas: mantén la impresión y otros trabajos externos en tareas de fondo o asíncronas.
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 estructurados y visualmente atractivos.

...
Leer más

¿Listo para empezar?

Nuget Downloads 46,090Versión:2026.9recién lanzado

Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPrint
nuget.org/packages/IronPrint/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPrint"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

  1. Descargue y descomprima IronPrint en una ubicación como ~/Libs dentro de su directorio de Solución
  2. En Visual Studio Solution Explorer, haga clic derecho en Referencias. Seleccione Examinar, "IronPrint.dll"

Licencias desde $999

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta