Como imprimir um documento PDF em C#

Tutorial C#: Imprimir Documento com 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 o IronPrint, é possível imprimir documento e imprimir PDF diretamente do código, sem a necessidade de diálogos manuais. 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();
    }
}
' Programmatically print a document without showing the print dialog.
' Define your print job and settings here as needed.

Imports System
Imports IronPrint

Public Class SilentPrint
	Public Shared Sub Main()
		' Create a print document instance
		Dim document = New PrintDocument("sample-document.pdf")

		' Initialize a silent print job
		Dim printJob As New PrintJob(document)

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

		' Execute the print job
		printJob.PrintSilently()
	End Sub
End Class
$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();
    }
}
' Start a print job with user interaction through the print dialog.

Imports System
Imports IronPrint

Public Class DialogPrint
	Public Shared Sub Main()
		' Create a print document instance
		Dim document = New PrintDocument("sample-document.pdf")

		' Initialize a print job with dialog
		Dim printJob As New PrintJob(document)

		' Execute the print job with display of print options dialog
		printJob.PrintWithDialog()
	End Sub
End Class
$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();
    }
}
' Example code to apply custom print settings programmatically.

Imports System
Imports IronPrint

Public Class PrintSettingsExample
	Public Shared Sub Main()
		' Create a print document instance
		Dim document = New PrintDocument("sample-document.pdf")

		' Create a print job
		Dim printJob As New PrintJob(document)

		' Set custom print settings like duplex, color mode, etc.
		Dim settings = New PrintSettings With {
			.ColorMode = ColorMode.Color,
			.DuplexMode = DuplexMode.OneSided,
			.Copies = 2
		}

		' Apply settings to print job
		printJob.ApplySettings(settings)

		' Print the document
		printJob.PrintSilently()
	End Sub
End Class
$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);
        }
    }
}
' Retrieve and display a list of printer names available on the system.

Imports System
Imports IronPrint

Public Class PrinterInfo
	Public Shared Sub Main()
		' Get an enumerable list of printer names
		Dim printerNames = PrinterSettings.GetAvailablePrinters()

		' Print each printer name to the console
		Console.WriteLine("Available Printers:")
		For Each name In printerNames
			Console.WriteLine(name)
		Next name
	End Sub
End Class
$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 39,267 | Versão: 2026.4 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.