Como imprimir um documento PDF em C#

C# Print Document Tutorial with IronPrint

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPrint é uma poderosa biblioteca de impressão projetada para auxiliar desenvolvedores .NET C# na integração de recursos de impressão em seus aplicativos. Com ampla compatibilidade com as plataformas Windows, macOS, iOS e Android, o IronPrint funciona de forma consistente e confiável em diversos sistemas operacionais. Seja para criar aplicativos para ambientes de desktop, para o ecossistema macOS da Apple ou para plataformas móveis como iOS e Android, o IronPrint simplifica a implementação de recursos de impressão, oferecendo uma solução versátil e fácil de usar para todas as suas necessidades de impressão no ambiente .NET C#.

Início rápido: Imprima um documento silenciosamente com o IronPrint

Basta uma linha de código e você já está imprimindo — sem diálogos, sem complicações. Use IronPrint.Printer.Print(...) para enviar silenciosamente PDFs ou imagens diretamente para a impressora usando configurações padrão ou personalizadas.

  1. Instale IronPrint com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronPrint
  2. Copie e execute este trecho de código.

    IronPrint.Printer.Print("path/to/your/document.pdf");
  3. Implante para testar em seu ambiente de produção.

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

    arrow pointer

Índice

Imprimir documento

Imprimir silenciosamente

Imprima documentos facilmente, sem exibir a caixa de diálogo de impressão. As configurações de impressão podem então ser feitas diretamente no código.

// Programmatically print a document without showing the print dialog.
// Define your print job and settings here as needed.

using System;
using IronPrint;

public class SilentPrint
{
    public static void Main()
    {
        // Create a print document instance
        var document = new PrintDocument("sample-document.pdf");

        // Initialize a silent print job
        var printJob = new PrintJob(document);

        // Apply specific settings as necessary
        // For example: set printer name, copies, etc.

        // Execute the print job
        printJob.PrintSilently();
    }
}
// Programmatically print a document without showing the print dialog.
// Define your print job and settings here as needed.

using System;
using IronPrint;

public class SilentPrint
{
    public static void Main()
    {
        // Create a print document instance
        var document = new PrintDocument("sample-document.pdf");

        // Initialize a silent print job
        var printJob = new PrintJob(document);

        // Apply specific settings as necessary
        // For example: set printer name, copies, etc.

        // Execute the print job
        printJob.PrintSilently();
    }
}
$vbLabelText   $csharpLabel

Inicie o processo de impressão com a caixa de diálogo de configurações de impressão exibida. Isso permite que os usuários personalizem as opções de impressão de forma interativa.

// Start a print job with user interaction through the print dialog.

using System;
using IronPrint;

public class DialogPrint
{
    public static void Main()
    {
        // Create a print document instance
        var document = new PrintDocument("sample-document.pdf");

        // Initialize a print job with dialog
        var printJob = new PrintJob(document);

        // Execute the print job with display of print options dialog
        printJob.PrintWithDialog();
    }
}
// Start a print job with user interaction through the print dialog.

using System;
using IronPrint;

public class DialogPrint
{
    public static void Main()
    {
        // Create a print document instance
        var document = new PrintDocument("sample-document.pdf");

        // Initialize a print job with dialog
        var printJob = new PrintJob(document);

        // Execute the print job with display of print options dialog
        printJob.PrintWithDialog();
    }
}
$vbLabelText   $csharpLabel

Aplicar configurações de impressão

Ajuste programaticamente as configurações de impressão para atender a requisitos específicos. Esta seção oferece a capacidade de ajustar as configurações de impressão por meio de código.

// Example code to apply custom print settings programmatically.

using System;
using IronPrint;

public class PrintSettingsExample
{
    public static void Main()
    {
        // Create a print document instance
        var document = new PrintDocument("sample-document.pdf");

        // Create a print job
        var printJob = new PrintJob(document);

        // Set custom print settings like duplex, color mode, etc.
        var settings = new PrintSettings
        {
            ColorMode = ColorMode.Color,
            DuplexMode = DuplexMode.OneSided,
            Copies = 2
        };

        // Apply settings to print job
        printJob.ApplySettings(settings);

        // Print the document
        printJob.PrintSilently();
    }
}
// Example code to apply custom print settings programmatically.

using System;
using IronPrint;

public class PrintSettingsExample
{
    public static void Main()
    {
        // Create a print document instance
        var document = new PrintDocument("sample-document.pdf");

        // Create a print job
        var printJob = new PrintJob(document);

        // Set custom print settings like duplex, color mode, etc.
        var settings = new PrintSettings
        {
            ColorMode = ColorMode.Color,
            DuplexMode = DuplexMode.OneSided,
            Copies = 2
        };

        // Apply settings to print job
        printJob.ApplySettings(settings);

        // Print the document
        printJob.PrintSilently();
    }
}
$vbLabelText   $csharpLabel

Obtenha informações sobre a impressora

Obter nomes de impressoras

Acesse uma lista de todas as impressoras disponíveis. Recupere os nomes das impressoras instaladas no sistema para fins informativos ou para seleção dinâmica de impressoras em seu aplicativo.

// Retrieve and display a list of printer names available on the system.

using System;
using IronPrint;

public class PrinterInfo
{
    public static void Main()
    {
        // Get an enumerable list of printer names
        var printerNames = PrinterSettings.GetAvailablePrinters();

        // Print each printer name to the console
        Console.WriteLine("Available Printers:");
        foreach (var name in printerNames)
        {
            Console.WriteLine(name);
        }
    }
}
// Retrieve and display a list of printer names available on the system.

using System;
using IronPrint;

public class PrinterInfo
{
    public static void Main()
    {
        // Get an enumerable list of printer names
        var printerNames = PrinterSettings.GetAvailablePrinters();

        // Print each printer name to the console
        Console.WriteLine("Available Printers:");
        foreach (var name in printerNames)
        {
            Console.WriteLine(name);
        }
    }
}
$vbLabelText   $csharpLabel

Perguntas frequentes

Como posso imprimir documentos silenciosamente em .NET C#?

Você pode usar o método PrintSilently() de uma instância PrintJob para executar trabalhos de impressão sem interação do usuário. Isso permite que o documento seja impresso programaticamente sem exibir a caixa de diálogo de impressão.

Qual é o processo para imprimir um documento usando uma caixa de diálogo de impressão em .NET C#?

Você pode iniciar uma impressão com interação do usuário usando o método PrintWithDialog() em uma instância PrintJob . Isso exibe a caixa de diálogo de configurações de impressão, permitindo que os usuários personalizem as opções antes de imprimir.

É possível aplicar configurações de impressão personalizadas programaticamente em .NET C#?

Sim, você pode aplicar configurações de impressão personalizadas programaticamente, criando um objeto PrintSettings e configurando propriedades como modo de cor, modo duplex e número de cópias. Essas configurações podem então ser aplicadas a uma instância PrintJob .

Como posso obter os nomes das impressoras disponíveis em uma aplicação .NET C#?

Você pode recuperar os nomes das impressoras disponíveis usando o método PrinterSettings.GetAvailablePrinters() . Este método fornece uma lista enumerável de nomes de impressoras instaladas no sistema para seleção ou fins informativos.

Posso imprimir documentos em formatos diferentes usando uma biblioteca .NET C#?

Sim, a biblioteca suporta a impressão de vários formatos de documentos, incluindo PDF, PNG, HTML, TIFF, GIF, JPEG, IMAGE e BITMAP, permitindo opções versáteis de impressão de documentos.

Quais plataformas são suportadas para impressão de documentos usando a biblioteca .NET C#?

A biblioteca é compatível com diversas plataformas, como Windows, macOS, iOS e Android, garantindo recursos de impressão consistentes e confiáveis em todos esses sistemas operacionais.

Qual a diferença entre impressão silenciosa e impressão baseada em diálogo no .NET C#?

A impressão silenciosa permite que documentos sejam impressos programaticamente sem interação do usuário, usando o método PrintSilently() . A impressão baseada em diálogo envolve a exibição de uma caixa de diálogo de impressão para personalização pelo usuário, realizada por meio do método PrintWithDialog() .

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 ...

Leia mais
Pronto para começar?
Nuget Downloads 38,093 | Versão: 2026.3 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronPrint
executar um exemplo Veja seu documento chegar à impressora.