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

Imprimir PDF em uma impressora específica com C# (Tutorial com exemplo de código)

Há muitas situações em que os desenvolvedores podem precisar imprimir documentos PDF diretamente de sua aplicação. Essa tarefa pode parecer complicada quando o usuário deseja imprimir vários arquivos PDF ou usar uma impressora específica diferente da impressora padrão. Vários métodos podem nos ajudar a imprimir arquivos PDF. Alguns deles precisam ser pagos, alguns funcionam de forma irregular, e alguns são difíceis de implementar.

IronPDF é uma biblioteca .NET que fornece um conjunto de classes para criar arquivos PDF programaticamente. Essas classes estão localizadas no assembly IronPdf.Core e são projetadas para serem fáceis de usar com qualquer linguagem .NET, incluindo C#, VB.NET, F#, etc. A biblioteca oferece muitas funções para criar documentos PDF, manipular PDFs existentes, ler PDFs, imprimir PDFs e criar Forms PDF programaticamente.

Vamos dar uma olhada em alguns exemplos de trechos de código para imprimir um arquivo PDF.

Instale o IronPDF

Em primeiro lugar, instale a biblioteca IronPDF. Para isso, vá para o Console do Gerenciador de Pacotes e escreva o seguinte comando.

Install-Package IronPrint

Imprimir PDF em Impressora Específica com C# (Exemplo de Tutorial de Código), Figura 1: Instale o pacote via o Console do Gerenciador de Pacotes Instalar o pacote via Console do Gerenciador de Pacotes

O próximo passo é criar um documento PDF. Você também pode simplesmente carregar um documento PDF existente se não quiser criar um novo. Vamos criar um documento PDF.

Criar um Documento PDF usando uma URL

IronPDF fornece duas funções para criar um documento PDF usando uma URL: RenderUrlAsPdf e RenderUrlAsPdfAsync. O RenderUrlAsPdfAsync fornece funcionalidade assíncrona.

O seguinte trecho de código criará um arquivo PDF a partir do URL.

var renderer = new IronPdf.ChromePdfRenderer();
PdfDocument doc = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
var renderer = new IronPdf.ChromePdfRenderer();
PdfDocument doc = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
$vbLabelText   $csharpLabel

Criar um Documento PDF usando String HTML

É possível criar um documento PDF usando uma string HTML. IronPDF fornece dois métodos para este propósito: RenderHtmlAsPdf e RenderHtmlAsPdfAsync. O método RenderHtmlAsPdfAsync é para operações assíncronas.

O seguinte trecho de código criará um arquivo PDF a partir da string HTML.

IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(@"<h1>My PDF File</h1> <p>This is a sample PDF document created to demonstrate the PDF file generation using HTML string</p>");
IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(@"<h1>My PDF File</h1> <p>This is a sample PDF document created to demonstrate the PDF file generation using HTML string</p>");
$vbLabelText   $csharpLabel

Imprimir Arquivos PDF em uma Impressora Específica

Imprimir arquivos PDF em uma impressora específica pode ser feito facilmente usando a propriedade PrinterName de PrinterSettings. Aqui está uma demonstração de como imprimir documentos PDF em uma impressora específica em C#.

var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.PrinterName = "myPrinter";
var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.PrinterName = "myPrinter";
$vbLabelText   $csharpLabel

A variável pdf refere-se ao documento PDF que foi criado. O método GetPrintDocument retorna uma instância PrintDocument, permitindo controle granular sobre o envio do PDF para uma impressora.

Diálogo de Impressão

Se o usuário precisar selecionar todas as configurações da impressora usando um diálogo de IU semelhante ao que aparece em um documento do Word ou Adobe Acrobat, IronPDF pode mostrar o diálogo de impressão da GUI passando um único parâmetro para a função Print.

pdf.Print(true);
pdf.Print(true);
$vbLabelText   $csharpLabel

Passar true para o argumento da função Print exibe o diálogo de impressão da GUI. Por padrão, a função Print imprime na impressora padrão.

Especificar o Número de Cópias

Imprimir várias cópias de um único documento pode ser alcançado configurando a propriedade Copies de PrinterSettings. O seguinte código de exemplo mostra isto:

var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Copies = 5;
var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Copies = 5;
$vbLabelText   $csharpLabel

Aqui, o pdf é o objeto do documento de impressão atual.

Selecionar Intervalo de Páginas para Imprimir Arquivo PDF

Se você não deseja imprimir um documento completo, pode especificar as propriedades FromPage e ToPage de PrinterSettings.

var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.FromPage = 3;
printDoc.PrinterSettings.ToPage = 3;
var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.FromPage = 3;
printDoc.PrinterSettings.ToPage = 3;
$vbLabelText   $csharpLabel

Este código define tanto as páginas inicial quanto final para impressão, para que apenas um intervalo específico do documento seja impresso.

Propriedade de Agrupamento

A característica Collate na impressão significa que se você estiver imprimindo mais de uma cópia de um documento de várias páginas, as cópias imprimirão todas as páginas de cada cópia antes de imprimir a segunda cópia. Você pode definir essa propriedade conforme necessário.

var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Collate = false;
var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Collate = false;
$vbLabelText   $csharpLabel

Com Collate definido como falso, a impressora imprimirá todas as cópias necessárias de cada página antes de imprimir a próxima página.

Obter Fontes de Papel

Para recuperar as fontes de papel disponíveis para a impressora, use o seguinte código:

var paperSources = pdf.GetPrintDocument().PrinterSettings.PaperSources;
var paperSources = pdf.GetPrintDocument().PrinterSettings.PaperSources;
$vbLabelText   $csharpLabel

Conclusão

O IronPDF fornece todos os recursos necessários para desenvolver aplicações .NET que requerem funcionalidades de impressão. Existem várias opções disponíveis para imprimir arquivos PDF, permitindo que você escolha a melhor para suas necessidades e imprima vários arquivos PDF.

Resumo

Este tutorial demonstrou como imprimir PDFs de forma simples para uma impressora específica usando a biblioteca IronPDF - é gratuito para desenvolvimento e oferece altos níveis de desempenho. Para mais capacidades de impressão de PDF com o IronPDF, explore esta página de exemplo.

Além disso, o IronPDF é capaz de renderizar gráficos, adicionar códigos de barras, melhorar a segurança com senhas e adicionar marca d'água com apenas algumas linhas de código.

Além disso, existem outras bibliotecas úteis como o IronXL para trabalhar com documentos Excel, o IronBarcode para trabalhar com códigos de barras e o IronOCR para trabalhar com OCR. Você pode obter todas as cinco bibliotecas pelo preço de apenas duas comprando o completo Iron Suite. Por favor, visite a página de licenciamento para mais detalhes.

Perguntas frequentes

Como faço para imprimir um PDF em uma impressora específica usando C#?

Para imprimir um PDF em uma impressora específica em C#, use o IronPDF para definir a propriedade PrinterName de PrinterSettings com o nome da impressora desejada e execute o método Print .

Posso personalizar as configurações de DPI ao imprimir um PDF?

Sim, o IronPDF permite personalizar as configurações de DPI ao imprimir um PDF. Você pode especificar o DPI na classe PrintDoc para atender às suas necessidades de qualidade de impressão.

Como posso exibir uma caixa de diálogo de impressão ao imprimir um PDF com o IronPDF?

Para exibir uma caixa de diálogo de impressão, passe 'true' como argumento da função Print no IronPDF. Isso acionará a caixa de diálogo de impressão da interface gráfica para ajustar as configurações da impressora antes de imprimir.

É possível imprimir apenas um intervalo específico de páginas de um PDF?

Sim, com o IronPDF, você pode imprimir um intervalo específico de páginas definindo as propriedades FromPage e ToPage das PrinterSettings antes de executar o comando de impressão.

Como posso imprimir várias cópias de um PDF usando o IronPDF?

Para imprimir várias cópias, defina a propriedade Copies de PrinterSettings no IronPDF para o número desejado de cópias antes de executar o método Print .

O que faz a opção "Agrupar" ao imprimir PDFs?

A opção "Agrupar" no IronPDF garante que todas as páginas de cada cópia sejam impressas sequencialmente antes de iniciar a impressão da próxima cópia, o que é útil ao imprimir várias cópias de um documento.

Como posso obter informações sobre as fontes de papel disponíveis para uma impressora?

No IronPDF, você pode usar a propriedade PaperSources das PrinterSettings para recuperar e selecionar as fontes de papel disponíveis para uma impressora específica.

Que funcionalidades adicionais o IronPDF oferece para manipulação de PDFs?

O IronPDF oferece recursos como renderização de HTML e URLs como PDFs, adição de códigos de barras, aprimoramento da segurança de documentos com senhas, marcas d'água e muito mais, tornando-se uma ferramenta completa para desenvolvedores.

Como faço para instalar a biblioteca IronPDF para manipulação de PDFs?

Para instalar o IronPDF, use o comando Install-Package IronPDF no Console do Gerenciador de Pacotes para adicionar a biblioteca ao seu projeto .NET.

O IronPDF consegue renderizar documentos PDF existentes para impressão?

Sim, o IronPDF pode renderizar documentos PDF novos e existentes para impressão, permitindo que você especifique as configurações da impressora e execute o comando de impressão com facilidade.

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