IRONSOFTWAREHOME

Como Imprimir com um Diálogo em C#

Curtis Chau
Curtis Chau
Updated: 9 de maio de 2026

IronPrint fornece Printer.ShowPrintDialog(): um método que abre o diálogo de impressão nativo do SO, captura as seleções de impressora e papel do usuário e despacha o documento para a fila de impressão. Instale um pacote NuGet e escreva uma linha de código.

O diálogo de impressão é a janela padrão do sistema operacional que permite aos usuários escolher uma impressora, definir cópias, escolher um intervalo de páginas e ajustar as opções de papel antes de confirmar a impressão. Aplicações de desktop que precisam dar aos usuários esse controle antes de cada trabalho são o principal caso de uso.

Início Rápido: Imprimir com um Diálogo
  1. 1Install IronPrint with NuGet Package Manager

    PM > Install-Package IronPrint

  2. 2Copie e execute este trecho de código.

    using IronPrint;
    
    // Display the print dialog and print the document
    Printer.ShowPrintDialog("document.pdf");
    C#
  3. 3Implante para testar em seu ambiente de produção.

    Comece a usar IronPrint em seu projeto hoje com uma avaliação gratuita
    arrow pointer

Como o Diálogo de Impressão Funciona em C#?

O método Printer.ShowPrintDialog() abre o diálogo de impressão nativo do sistema operacional. O usuário vê o conjunto completo de opções de impressão: seleção de impressora, número de cópias, intervalo de páginas, orientação e tamanho do papel. Eles clicam em Imprimir para enviar o trabalho, ou Cancelar para dispensar o diálogo sem imprimir.

Nos bastidores, a abordagem nativa do .NET requer a criação de uma instância System.Windows.Forms.PrintDialog, conectando-a a um PrintDocument, lidando com o evento PrintPage para desenhar conteúdo na superfície gráfica da impressão, verificando o DialogResult, e então chamando PrintDocument.Print(). Essa configuração geralmente executa 15–25 linhas de código. Também não inclui renderização de PDF ou imagem embutida (imprimir um PDF através do diálogo nativo significa primeiro analisar o PDF em páginas desenháveis, o que requer ainda outra biblioteca).

IronPrint lida com todo o pipeline em uma única chamada:

Entrada

O relatório trimestral.pdf passado para ShowPrintDialog, um sumário financeiro estilizado do Q3 corporativo com cartões de métrica KPI e tabelas de receita de divisão, representando um documento comercial típico enviado para o diálogo de impressão.

using IronPrint;

// Open the print dialog and print
Printer.ShowPrintDialog("quarterly-report.pdf");

Saída

Diálogo de impressão nativo aberto pelo ShowPrintDialog

Diálogo de impressão nativo aberto pelo ShowPrintDialog para o relatório trimestral.

O método aceita um caminho de arquivo como string ou dados de arquivo bruto como byte[]. IronPrint detecta o formato do documento, renderiza-o através do motor apropriado, e apresenta o diálogo. Quando o usuário confirma, o documento é impresso com as configurações escolhidas. O tutorial de impressão de documentos explora o ciclo completo de impressão em mais detalhes.

Podemos definir valores padrão antes de o diálogo abrir criando um objeto PrintSettings e passando-o como o segundo parâmetro. O diálogo abrirá com esses valores pré-selecionados, e o usuário pode aceitá-los como estão ou alterar qualquer configuração.

Entrada

O invoice.pdf pré-carregado com configurações de retrato A4 a 300 DPI: uma fatura profissional de cobrança com itens de linha, desconto, imposto e instruções de transferência bancária, mostrando um documento realista onde a aplicação já conhece o tamanho e a orientação de papel requeridos.

using IronPrint;

// Pre-configure default dialog settings
var settings = new PrintSettings
{
    PrinterName = "HP LaserJet Pro",
    PaperSize = PaperSize.A4,
    PaperOrientation = PaperOrientation.Portrait,
    Dpi = 300,
    NumberOfCopies = 2,
    Grayscale = false
};

// Open the dialog with pre-filled settings
Printer.ShowPrintDialog("invoice.pdf", settings);

Saída

Diálogo de impressão do Windows com configurações pré-configuradas

Diálogo de impressão nativo aberto com configurações de retrato A4 pré-configuradas.

Isso é útil quando o aplicativo já conhece previamente a impressora ou o formato de papel provável. Por exemplo, um sistema de ponto de venda que sempre imprime recibos em uma impressora térmica específica pode definir o padrão PrinterName para esse dispositivo. O usuário ainda tem a opção de alterá-lo no diálogo.

Para descobrir quais impressoras estão disponíveis no sistema, chamamos Printer.GetPrinterNames(), que retorna um List<string> de todas as impressoras instaladas. De forma semelhante, Printer.GetPrinterTrays() retorna bandejas de papel disponíveis para uma impressora específica.

A lista completa de propriedades configuráveis inclui PrinterName, PaperSize, PaperOrientation, Dpi, NumberOfCopies, Grayscale, PaperMargins, Flatten (para campos de formulário PDF), e Tray. O guia de configurações de impressão cobre cada propriedade com exemplos de código. Qualquer propriedade não definida em PrintSettings por padrão vai para a configuração padrão da impressora selecionada.

Como mostro o diálogo de forma assíncrona?

O método Printer.ShowPrintDialogAsync() retorna um Task, tornando-o compatível com await. Isso evita que o diálogo bloqueie o thread da interface de usuário, o que é essencial para WPF, MAUI e qualquer aplicação onde uma interface congelada cria uma experiência de usuário ruim.

Entrada

O report.pdf aguardado de forma assíncrona: um relatório de infraestrutura de TI e segurança de várias seções, representando o tipo de documento de longo formato onde a apresentação do diálogo não bloqueante mantém a interface de usuário responsiva enquanto o arquivo carrega.

using IronPrint;

// Open the print dialog asynchronously
await Printer.ShowPrintDialogAsync("report.pdf");

Saída

Diálogo de impressão assíncrono aberto via ShowPrintDialogAsync

Diálogo de impressão nativo aberto de forma assíncrona via ShowPrintDialogAsync, com o console confirmando a execução não bloqueante.

ShowPrintDialogAsync() aceita os mesmos parâmetros da versão síncrona: um caminho de arquivo ou matriz de bytes, além de um objeto opcional PrintSettings. O padrão assíncrono segue o mesmo Padrão Assíncrono Baseado em Tarefas usado em todo o desenvolvimento moderno do .NET.

IronPrint funciona em aplicativos WinForms, WPF, MAUI e console. A aparência do diálogo se adapta à plataforma host e à versão do sistema operacional, para que o usuário sempre veja a janela de impressão nativa que espera.

Quando devo usar um diálogo vs. impressão silenciosa?

Use o diálogo quando os usuários precisarem escolher configurações de impressora antes de cada trabalho; use impressão silenciosa para fluxos de trabalho automatizados onde nenhuma decisão humana é necessária.

CritériosImprimir com DiálogoImpressão silenciosa
Interação do usuárioUsuário seleciona impressora, cópias, intervalo de páginasSem interação; prints immediately
Ideal paraAplicativos de desktop, impressões avulsas, funcionalidades voltadas para o usuárioTarefas em lote, serviços de segundo plano, aplicativos de quiosque
Seleção de impressoraUsuário escolhe no diálogoDefinido programaticamente via PrintSettings
Método IronPrintPrinter.ShowPrintDialog()Printer.Print()
Variante assíncronaShowPrintDialogAsync()PrintAsync()

Exportações de relatórios, impressões de faturas e qualquer trabalho onde a impressora equivocada desperdice materiais são bons candidatos para o diálogo. Impressão silenciosa se ajusta a fluxos de trabalho automatizados onde nenhuma decisão humana é necessária entre documentos.

Quais formatos de arquivo o diálogo de impressão suporta?

Printer.ShowPrintDialog() suporta os mesmos formatos da impressão silenciosa: PDF, PNG, TIFF, JPEG, GIF, HTML, e BMP. Passamos o caminho do arquivo, independentemente do formato, e o IronPrint lida com a renderização e a comunicação com o spooler de impressão. Os dados do arquivo como byte[] também são aceitos, o que é útil quando o documento é gerado na memória ou recuperado de um banco de dados.

Entrada

relatório-mensal.pdf lido em um byte[], representando um documento recuperado de um banco de dados ou gerado na memória antes de ser enviado para o diálogo.

using IronPrint;

// Print an image with the dialog
Printer.ShowPrintDialog("product-photo.png");

// Print from a byte array
byte[] reportData = File.ReadAllBytes("monthly-report.pdf");
Printer.ShowPrintDialog(reportData);

Saída

O diálogo abre conforme visto nos exemplos acima. A detecção de formato é automática: seja passando um caminho de arquivo ou um byte[], o IronPrint renderiza o documento e apresenta o mesmo diálogo nativo.

A página de exemplos de código mostra cenários adicionais específicos para formatos. Para fluxos de trabalho específicos de PDF (gerar um PDF e imprimi-lo imediatamente), IronPDF combina naturalmente com o IronPrint.

Próximos passos

Imprimir com um diálogo se resume a dois métodos: Printer.ShowPrintDialog() para chamadas síncronas e Printer.ShowPrintDialogAsync() para execução não bloqueante. Pré-configure padrões com PrintSettings e deixe o usuário ajustar a partir daí. Ambos os métodos suportam todos os formatos de documento do IronPrint e funcionam em projetos WinForms, WPF, MAUI e de console.

Explore os tutoriais do IronPrint para tutoriais completos, a referência da API da classe Printer para todos os métodos disponíveis ou o guia de configurações de impressão para configuração avançada. O changelog rastreia melhorias recentes e novos recursos.

Comece um teste grátis de 30 dias para testar impressão com diálogo em um projeto ao vivo, sem necessidade de cartão de crédito. Quando estiver pronto para enviar, veja as opções de licenciamento começando em $999.

Perguntas frequentes

Qual é a principal função do IronPrint?

O IronPrint permite que os desenvolvedores exibam e configurem um diálogo de impressão em aplicações C#, facilitando a impressão de PDFs e imagens com configurações pré-configuradas.

Como posso exibir um diálogo de impressão usando o IronPrint?

Você pode exibir um diálogo de impressão em sua aplicação C# usando o método ShowPrintDialog() do IronPrint, que oferece uma maneira interativa de configurar configurações de impressão.

O IronPrint suporta impressão assíncrona?

Sim, o IronPrint suporta impressão assíncrona, permitindo que sua aplicação permaneça responsiva enquanto lida com trabalhos de impressão.

Posso pré-configurar configurações de impressão com o IronPrint?

Sim, o IronPrint permite pré-configurar configurações de impressão como tamanho do papel, orientação e seleção de impressora antes de exibir o diálogo de impressão.

É possível imprimir imagens usando o IronPrint?

O IronPrint suporta a impressão de PDFs e imagens, oferecendo flexibilidade para vários tipos de documentos em sua aplicação C#.

Como o IronPrint melhora a experiência do diálogo de impressão em C#?

O IronPrint melhora a experiência do diálogo de impressão ao permitir que os desenvolvedores personalizem e configurem facilmente as configurações de impressão, suportando operações síncronas e assíncronas.

Quais tipos de documentos posso imprimir com o IronPrint?

Com o IronPrint, você pode imprimir uma variedade de documentos, incluindo PDFs e imagens, diretamente de sua aplicação C#.

O IronPrint pode ser integrado em aplicações C# existentes?

Sim, o IronPrint foi projetado para ser integrado facilmente em aplicações C# existentes, fornecendo uma maneira simples de adicionar funcionalidade de diálogo de impressão.

Quais as vantagens que o IronPrint oferece para desenvolvedores C#?

O IronPrint oferece vantagens como fácil integração, configurações de impressão personalizáveis, suporte para impressão assíncrona e capacidade de imprimir PDFs e imagens.

Como o IronPrint lida com diferentes configurações de impressora?

O IronPrint permite que você configure diferentes configurações de impressora, garantindo compatibilidade com várias impressoras e personalização para atender a necessidades específicas de impressão.

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.