IRONSOFTWAREHOME

Método Print() Trava em WPF e WinForms

Curtis Chau
Curtis Chau
Updated: 29 de junho de 2026

Quando você chama o método Print() síncrono em um aplicativo WPF ou WinForms, o método é invocado mas nunca é concluído. A chamada trava indefinidamente, bloqueando o thread e congelando a UI mesmo quando o trabalho de impressão em si é válido.

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

Este é o comportamento esperado. O Print() síncrono roda no thread de UI do aplicativo, onde o Dispatcher do WPF e o contexto de threading entram em conflito com o pipeline de impressão IronPrint e bloqueiam a chamada.

Solução

Chame a API assíncrona em vez da síncrona.

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

PrintAsync() move a operação de impressão para fora do caminho bloqueante, então o trabalho é concluído e a UI permanece responsiva tanto em WPF quanto em WinForms.

Melhores práticas

  • Atualize o IronPrint: execute a versão mais recente para capturar a correção onde disponível.
  • Prefira APIs assíncronas: opte por PrintAsync() em WPF e WinForms para evitar impasses no thread de UI.
  • Nunca bloqueie no thread principal: evite .Result e .Wait() contra uma chamada assíncrona.
  • Descarregue I/O de longa duração: mantenha a impressão e outros trabalhos externos em tarefas de backend ou assíncronas.
Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Pronto para começar?

Nuget Downloads 46,090Versão:2026.9recém-lançado

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.9

PM > Install-Package IronPrint
nuget.org/packages/IronPrint/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronPrint".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.9

  1. Baixe e descompacte o IronPrint em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronPrint.dll".

Licenças a partir de US$ 749

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.