Ir para o conteúdo do rodapé
USANDO O IRONPRINT

Como imprimir um arquivo em uma impressora usando C#

Imprimir arquivos PDF diretamente de um aplicativo C# pode ser um recurso valioso, especialmente ao desenvolver aplicativos que exigem integração perfeita com documentos PDF físicos. Seja você trabalhando em um sistema de gerenciamento de documentos PDF, um aplicativo de ponto de venda ou qualquer outro software que lida com impressão, C# fornece um conjunto robusto de bibliotecas para facilitar esta funcionalidade de método de impressão de PDF.

Para este propósito, a Microsoft C# fornece um método de impressão para imprimir arquivos PDF para uma impressora padrão. Neste artigo, exploraremos os passos para imprimir um arquivo PDF em uma impressora usando C#.

Como Imprimir um Arquivo em uma Impressora em C#

  1. Crie uma Aplicação Windows Forms C#
  2. Importe System.Drawing.Printing usando a palavra-chave
  3. Desenhe o Formulário com um botão e outros controles necessários
  4. Manipulando o Evento PrintDocument usando o Evento PrintPage
  5. Inicie o trabalho de Impressão
  6. Execute o aplicativo e clique no botão Imprimir para imprimir

Pré-requisitos

Antes de começar, certifique-se de que possui os seguintes pré-requisitos:

  1. Um ambiente de desenvolvimento C# (por exemplo, Visual Studio).
  2. Permissões adequadas para interagir com impressoras.
  3. Entendimento básico de programação em C#.

Passo 1: Configurando Seu Projeto

Crie um novo projeto C# ou abra um existente em seu ambiente de desenvolvimento preferido. Certifique-se de que seu projeto esteja configurado corretamente e você tenha as permissões necessárias para interações com impressoras. O processo a seguir permite que você complete este processo:

Instalar o Visual Studio

Se você não tem o Visual Studio instalado, baixe e instale-o do site oficial: Visual Studio.

Criar um novo projeto

  1. Abra o Visual Studio.
  2. Clique em "Criar um novo projeto".

Como Imprimir um Arquivo para uma Impressora em C#: Figura 1 - Novo Projeto

Escolher Modelo de Projeto

  1. No diálogo "Criar um novo projeto", selecione "Windows Forms App (.NET Framework)" ou "Windows Forms App (.NET Core)" baseado na sua preferência.

Como Imprimir um Arquivo para uma Impressora em C#: Figura 2 - App Windows Forms

  1. Forneça um nome e uma localização para seu projeto.

Como Imprimir um Arquivo para uma Impressora em C#: Figura 3 - Configuração do Projeto

  1. Clique em Avançar e, na tela de informações adicionais, selecione o .NET Framework e clique em "Criar".

Desenhar o Formulário

  1. Uma vez criado o projeto, o formulário principal será exibido no designer.
  2. Use a caixa de ferramentas para adicionar controles como botões, caixas de texto, rótulos, etc., ao seu formulário conforme necessário.
  3. Personalize as propriedades de cada controle usando a janela Propriedades.

Como Imprimir um Arquivo para uma Impressora em C#: Figura 4 - Design do Formulário

  1. Ajuste a aparência e o layout do formulário.

Como Imprimir um Arquivo para uma Impressora em C#: Figura 5 - Formulário de Impressão

Passo 2: Importando Bibliotecas Necessárias

No arquivo de código C#, importe os namespaces necessários para acessar as classes e métodos relacionados à impressão.

using System.Drawing.Printing;
using System.Drawing.Printing;
$vbLabelText   $csharpLabel

Esses namespaces fornecem classes essenciais como PrintDocument, PrintPageEventArgs e PrintController para lidar com operações de impressão.

Passo 3: Manipulando o Evento PrintDocument

A classe PrintDocument é fundamental para impressão em C#. Manipule seu evento PrintPage para definir qual conteúdo imprimir e como deve ser formatado. Vamos começar com um exemplo simples de impressão do conteúdo de um arquivo de texto:

private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
    // Specify the file path
    string filePath = "C:\\path\\to\\your\\file.txt";
    // Read the content of the file
    string line = System.IO.File.ReadAllText(filePath);
    // Create a Font object (adjust as needed)
    Font font = new Font("Arial", 12);
    // Create a RectangleF to define the printing area
    RectangleF area = new RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height);
    // Draw the content to the printing area
    e.Graphics.DrawString(line, font, Brushes.Black, area);
    // Set HasMorePages to false to indicate that there are no more pages to print
    e.HasMorePages = false;
}
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
    // Specify the file path
    string filePath = "C:\\path\\to\\your\\file.txt";
    // Read the content of the file
    string line = System.IO.File.ReadAllText(filePath);
    // Create a Font object (adjust as needed)
    Font font = new Font("Arial", 12);
    // Create a RectangleF to define the printing area
    RectangleF area = new RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height);
    // Draw the content to the printing area
    e.Graphics.DrawString(line, font, Brushes.Black, area);
    // Set HasMorePages to false to indicate that there are no more pages to print
    e.HasMorePages = false;
}
$vbLabelText   $csharpLabel

Este exemplo lê o conteúdo de um arquivo de texto e o imprime usando a fonte e a formatação especificadas.

Passo 4: Iniciando o Trabalho de Impressão

Inicie o trabalho de impressão criando uma instância da classe PrintDocument, anexando o manipulador de eventos PrintPage e, em seguida, disparando o processo de impressão. Opcionalmente, você pode exibir um diálogo de impressão para configuração do usuário:

private void btnPrint_Click(object sender, EventArgs e)
{
    PrintDocument pd = new PrintDocument();
    pd.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
    // Optionally, display a print dialog for user configuration
    PrintDialog printDialog = new PrintDialog();
    if (printDialog.ShowDialog() == DialogResult.OK)
    {
        pd.PrinterSettings = printDialog.PrinterSettings;
        pd.Print();
    }
}
private void btnPrint_Click(object sender, EventArgs e)
{
    PrintDocument pd = new PrintDocument();
    pd.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
    // Optionally, display a print dialog for user configuration
    PrintDialog printDialog = new PrintDialog();
    if (printDialog.ShowDialog() == DialogResult.OK)
    {
        pd.PrinterSettings = printDialog.PrinterSettings;
        pd.Print();
    }
}
$vbLabelText   $csharpLabel

Este código cria uma instância de PrintDocument, anexa o manipulador de eventos PrintPage e, em seguida, imprime o documento. O diálogo de impressão opcional permite que os usuários configurem as configurações de impressão antes de iniciar o trabalho de impressão. Isto imprime o documento de texto em uma impressora conectada localmente. Se não estiver presente, então o arquivo é impresso para o nome de impressora padrão (Microsoft Print to PDF) no diálogo de Impressão como mostrado abaixo:

Como Imprimir um Arquivo para uma Impressora em C#: Figura 6 - Diálogo de Impressão do Microsoft

Impressão Avançada em C# via Biblioteca IronPrint

Quando se trata de lidar com a funcionalidade de impressão em aplicações de console C# de forma eficiente e eficaz, a biblioteca IronPrint oferece uma solução poderosa.

Introdução ao IronPrint

IronPrint é uma biblioteca de impressão abrangente desenvolvida pela Iron Software, projetada para integrar-se perfeitamente com aplicativos .NET. Esteja você trabalhando em um projeto de desktop, web ou móvel, o IronPrint oferece capacidades versáteis de impressão de documentos PDF, suportando vários formatos de arquivo e fornecendo configurações de impressão personalizáveis.

Como Imprimir um Arquivo para uma Impressora em C#: Figura 7 - IronPrint

Principais características

  1. Suporte a Formatos: IronPrint suporta vários formatos de documento, incluindo PDF, PNG, TIFF, GIF, JPEG e BITMAP. Esta versatilidade garante que os desenvolvedores possam trabalhar com diferentes tipos de conteúdo para impressão.
  2. Configurações Personalizáveis: Os desenvolvedores podem personalizar as configurações de impressão conforme os requisitos de seu aplicativo. Isso inclui opções para definir DPI (pontos por polegada), especificar a orientação do papel (retrato ou paisagem) e controlar o número de cópias.
  3. Diálogo de Impressão: IronPrint facilita uma experiência de usuário perfeita, permitindo que os desenvolvedores mostrem um diálogo de impressão antes de imprimir. Isso pode ser útil em cenários em que os usuários precisam interagir com o processo de impressão e selecionar opções específicas.
  4. Impressão Silenciosa: IronPrint oferece um recurso de impressão silenciosa que é particularmente benéfico para automação e aumento da eficiência do fluxo de trabalho. Isso permite que os desenvolvedores imprimam faturas sem interação do usuário, eliminando a necessidade de intervenção manual e agilizando o processo geral.
  5. Compatibilidade entre Plataformas: IronPrint vai além das limitações de plataforma, oferecendo compatibilidade com uma ampla gama de ambientes, incluindo Windows (7+), macOS (10+), iOS (11+) e Android API 21+ (v5 'Lollipop'). Ele se integra perfeitamente com diferentes tipos de projeto, como Móvel (Xamarin, MAUI e Avalonia), Desktop (WPF, MAUI e Windows Avalonia) e Console (App e Biblioteca).
  6. Suporte Amplo a Versões .NET: Esteja você usando o último .NET 8, 7, 6, ou Core 3.1+, IronPrint está coberto. Ele também suporta o .NET Framework (4.6.2+), garantindo compatibilidade em vários ambientes de desenvolvimento.

Instalando IronPrint

Antes de mergulhar na impressão de arquivos, você precisa instalar a biblioteca IronPrint. Você pode fazer isso facilmente usando o Console do Gerenciador de Pacotes NuGet:

Install-Package IronPrint

Esta linha de comando irá baixar e instalar a biblioteca IronPrint no seu projeto C#.

Inicializando IronPrint

Uma vez que o IronPrint está instalado, você precisa inicializá-lo no seu código C#. Importe o namespace IronPrint e defina a chave de licença para garantir o funcionamento adequado:

using IronPrint;
class Program
{
    public static void Main()
    {
        License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
    }
}
using IronPrint;
class Program
{
    public static void Main()
    {
        License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
    }
}
$vbLabelText   $csharpLabel

Imprimindo um Arquivo com IronPrint

Imprimir um arquivo usando o IronPrint é simples. Você pode usar a classe Printer, especificando o caminho do arquivo para o método Print para imprimir um PDF silenciosamente:

using IronPrint;
class Program
{
    public static void Main()
    {
        License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
        // Specify the file path
        var document = "C:\\path\\to\\your\\file.pdf";
        // Print PDFs
        Printer.Print(document);
    }
}
using IronPrint;
class Program
{
    public static void Main()
    {
        License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
        // Specify the file path
        var document = "C:\\path\\to\\your\\file.pdf";
        // Print PDFs
        Printer.Print(document);
    }
}
$vbLabelText   $csharpLabel

Imprimir silenciosamente vem com o benefício de não precisar de qualquer interação do usuário para imprimir o PDF, o que é útil para situações onde a automação é necessária para agilizar o fluxo de trabalho. Para situações que exigem interação do usuário, como uma caixa de diálogo antes da impressão, você pode usar ShowPrintDialog, que atinge o mesmo resultado, mas com um diálogo como etapa adicional.

Embora este exemplo demonstre apenas a impressão de um arquivo PDF, o IronPrint também suporta vários formatos de arquivo, incluindo PDF, PNG, TIFF, GIF, JPEG, IMAGE e BITMAP.

Personalizando Configurações de Impressão

O IronPrint permite que você personalize as configurações de impressão de acordo com os requisitos do seu aplicativo. Você pode configurar configurações como DPI, número de cópias, orientação do papel e mais usando a classe PrintSettings. O seguinte exemplo de código ajuda você a definir as configurações de página e imprimir documentos PDF:

using IronPrint;
class Program
{
    public static void Main()
    {
        IronPrint.License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
        Console.WriteLine("Printing Started...");
        // Specify the file path
        string filePath = "C:\\path\\to\\your\\file.pdf";
        // Configure print settings
        PrintSettings printSettings = new PrintSettings();
        printSettings.Dpi = 300;
        printSettings.NumberOfCopies = 2;
        printSettings.PaperOrientation = PaperOrientation.Landscape;
        // Print the document with custom settings
        Printer.Print(filePath, printSettings);
        // Print using the Print dialog
        Printer.ShowPrintDialog(filePath, printSettings);
    }
}
using IronPrint;
class Program
{
    public static void Main()
    {
        IronPrint.License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
        Console.WriteLine("Printing Started...");
        // Specify the file path
        string filePath = "C:\\path\\to\\your\\file.pdf";
        // Configure print settings
        PrintSettings printSettings = new PrintSettings();
        printSettings.Dpi = 300;
        printSettings.NumberOfCopies = 2;
        printSettings.PaperOrientation = PaperOrientation.Landscape;
        // Print the document with custom settings
        Printer.Print(filePath, printSettings);
        // Print using the Print dialog
        Printer.ShowPrintDialog(filePath, printSettings);
    }
}
$vbLabelText   $csharpLabel

Aqui está como a saída se parece:

Como Imprimir um Arquivo para uma Impressora em C#: Figura 8 - Saída de Impressão Personalizada

Se a impressora física não estiver instalada, então a impressora padrão é usada para imprimir documentos PDF. Para obter todas as impressoras disponíveis, você também pode usar o método GetPrinterNames.

// Retrieve printers' name
List<string> printersName = Printer.GetPrinterNames();
foreach (string printer in printersName)
{
    Console.WriteLine(printer);
}
// Retrieve printers' name
List<string> printersName = Printer.GetPrinterNames();
foreach (string printer in printersName)
{
    Console.WriteLine(printer);
}
$vbLabelText   $csharpLabel

Para informações mais detalhadas, por favor visite a página de documentação.

Conclusão

Imprimir arquivos em C# é uma tarefa gerenciável usando as capacidades fornecidas pelo namespace System.Drawing.Printing. Ao manipular o evento PrintPage e utilizar a classe PrintDocument, você pode adaptar o processo de impressão aos seus requisitos específicos. Este guia abrangente cobriu os passos fundamentais na impressão de arquivos a partir de um aplicativo C#, oferecendo uma base sólida para integrar essa funcionalidade em seus projetos.

Para desenvolvedores que buscam capacidades avançadas, escalabilidade e automação, o IronPrint se destaca como uma solução ideal. Sua API intuitiva e recursos adicionais superam os pacotes básicos oferecidos pela Microsoft. À medida que nos aprofundamos no IronPrint, descobrimos uma gama de opções de personalização, incluindo suporte para vários tipos de arquivo, a capacidade de incorporar imagens e melhorias na formatação para melhor alinhar com as necessidades específicas de um aplicativo.

Integrar o IronPrint ao seu aplicativo C# simplifica o processo de impressão de arquivos para uma impressora. Com suporte para vários formatos de arquivo e configurações de impressão personalizáveis, o IronPrint fornece uma solução robusta para desenvolvedores que buscam aprimorar suas capacidades de impressão. Seja você trabalhando em um projeto de desktop, web ou móvel, o IronPrint agiliza o processo de impressão, tornando-o uma valiosa adição ao seu kit de ferramentas .NET. Descubra os benefícios do IronPrint explorando nossa página de teste gratuito. Baixe a biblioteca daqui aqui e experimente seus recursos em primeira mão!

O IronPrint oferece uma página de teste gratuito para mais informações. Baixe a biblioteca a partir de aqui e experimente.

Perguntas frequentes

Como posso imprimir um arquivo PDF em uma impressora usando C#?

Você pode imprimir um arquivo PDF em uma impressora usando C# criando um aplicativo Windows Forms, importando o namespace System.Drawing.Printing e manipulando o evento PrintDocument . Para recursos mais avançados, como suporte a vários formatos de arquivo e configurações de impressão personalizáveis, você pode usar a biblioteca IronPrint da Iron Software.

Quais são os passos envolvidos na configuração de um projeto C# para impressão?

Para configurar um projeto C# para impressão, comece criando um novo aplicativo Windows Forms no Visual Studio, projete a interface do formulário e importe o namespace System.Drawing.Printing . O IronPrint pode ser integrado para recursos de impressão aprimorados, como o gerenciamento de vários formatos e configurações.

O IronPrint consegue lidar com diferentes formatos de arquivo para impressão?

Sim, o IronPrint suporta uma ampla variedade de formatos de arquivo, incluindo PDF, PNG, HTML, TIFF, GIF, JPEG, IMAGE e BITMAP, tornando-se uma opção versátil para desenvolvedores que precisam imprimir diversos tipos de conteúdo.

O que torna o IronPrint uma solução robusta para impressão em aplicações C#?

O IronPrint oferece soluções robustas com suporte para múltiplos formatos, configurações personalizáveis como DPI e orientação do papel, além de compatibilidade entre plataformas. Ele também se integra facilmente a aplicativos .NET, proporcionando recursos de impressão aprimorados.

Como faço para personalizar as configurações de impressão usando o IronPrint?

O IronPrint permite personalizar as configurações de impressão usando a classe PrintSettings . Você pode ajustar configurações como DPI, número de cópias e orientação do papel para atender a requisitos de impressão específicos.

O IronPrint é compatível com várias plataformas?

Sim, o IronPrint é compatível com várias plataformas, suportando ambientes como Windows, macOS, iOS e Android, o que permite que os desenvolvedores usem a biblioteca em diversos aplicativos em diferentes sistemas operacionais.

Como o IronPrint pode aprimorar a funcionalidade de impressão em um aplicativo C#?

O IronPrint aprimora a funcionalidade de impressão, fornecendo recursos avançados como suporte a múltiplos formatos de documentos, configurações de impressão personalizáveis e integração perfeita em aplicativos .NET, o que melhora o processo geral de impressão em aplicativos C#.

Como faço para iniciar uma impressão em C# usando o IronPrint?

Para iniciar uma tarefa de impressão em C# usando o IronPrint, você precisa criar uma instância da classe PrintDocument , associar um manipulador de eventos PrintPage e, em seguida, usar os métodos do IronPrint para executar a tarefa de impressão com as personalizações necessárias.

O que é necessário para começar a imprimir arquivos em C#?

Para começar a imprimir arquivos em C#, você precisa de um ambiente de desenvolvimento como o Visual Studio, permissões para acessar impressoras e um conhecimento básico de programação em C#. O IronPrint pode ser adicionado ao seu projeto para fornecer recursos de impressão aprimorados.

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me