Como imprimir um arquivo PDF usando o PDFSharp
A funcionalidade de impressão é um aspecto crítico das bibliotecas de manipulação de PDF, permitindo aos desenvolvedores gerar documentos impressos de alta qualidade diretamente de suas aplicações. Neste artigo, compararemos os recursos de impressão de duas bibliotecas populares, IronPDF e PDFSharp, no contexto do desenvolvimento em C# ou .NET. Vamos explorar as forças e limitações de cada biblioteca, elucidando suas abordagens para impressão de arquivos PDF.
PDFsharp
PDFsharp é a biblioteca Open Source .NET que facilmente cria e processa documentos PDF instantaneamente a partir de arquivos de programas de qualquer linguagem .NET. As mesmas rotinas de desenho podem ser usadas para criar documentos, desenhar na tela ou enviar a saída para qualquer nome de impressora IP arbitrário.
IronPDF
IronPDF é uma biblioteca popular para C# .NET que permite aos desenvolvedores trabalhar com arquivos PDF de maneira versátil e eficiente. Ela fornece um conjunto abrangente de funcionalidades para criar, ler, modificar e converter documentos PDF, tornando-se uma solução completa para tarefas relacionadas a PDF. Uma de suas características principais é a capacidade de converter conteúdo HTML para PDF, tornando-a ideal para gerar PDFs a partir de páginas web e conteúdo dinâmico. O IronPDF também suporta funcionalidades avançadas como adicionar marcas d'água, assinaturas digitais, anexar postagens e campos de formulário interativos aos PDFs. Com sua API fácil de usar e desempenho robusto, o IronPDF se tornou a escolha preferida entre os desenvolvedores para manipulação tranquila de PDFs no ambiente C#.
Como imprimir arquivos PDF usando o PDFsharp?
O PDFsharp não fornece nenhuma função para imprimir arquivos PDF. No entanto, podemos usar o Acrobat com o PDFsharp para imprimir documentos PDF. Por favor, note que você não poderá imprimir arquivos PDF usando o Acrobat na versão mais recente do PDFsharp. Você precisa instalar a versão 1.3.0 do PDFsharp para imprimir os documentos PDF em C# .NET. Você deve ter o Adobe Reader instalado em sua máquina. Se você não tem um Adobe Reader instalado, pode baixar e instalar um.

Instalar a Biblioteca PDFsharp
Instalar a biblioteca PDFsharp é um processo simples. PDFsharp está disponível como um pacote NuGet, o que permite adicioná-lo facilmente ao seu projeto C# ou .NET. Aqui estão os passos para instalar o PDFsharp usando NuGet:
- Crie ou abra um projeto no qual você deseja usar a biblioteca PDFsharp.
- No Visual Studio, clique com o botão direito na solução do projeto no Solution Explorer. Em seguida, selecione "Gerenciar Pacotes NuGet para Solução..." no menu de contexto.
- No Gerenciador de Pacotes NuGet, você verá uma aba "Procurar". Digite "PDFsharp" na barra de pesquisa e pressione Enter. Isso exibirá uma lista de pacotes PDFsharp disponíveis.

- Dos resultados de pesquisa do fórum, escolha o pacote
PdfSharpe selecione a versão 1.3.0. - Após selecionar o pacote e a versão, clique no botão "Instalar" para adicioná-lo ao seu projeto. O NuGet se encarregará de baixar e instalar a biblioteca PDFsharp junto com quaisquer dependências.
- Com o PDFsharp instalado em seu projeto, você pode começar a usar suas classes e métodos para trabalhar com documentos PDF no seu código C# ou .NET.
Imprimir Documento PDF usando PDFsharp
A impressão de PDF com PDFsharp não é uma tarefa simples. Precisamos do Adobe Acrobat Reader instalado no seu sistema. PDFsharp não fornece nenhuma função para imprimir arquivos PDF. Primeiro, iniciaremos o processo do Adobe Reader usando o PDFsharp e depois imprimiremos o documento usando o processo do Adobe Reader.
A linha de código a seguir demonstra o exemplo de impressão de um arquivo PDF:
internal class Program
{
static void Main(string[] args)
{
// Set the path to the Adobe Acrobat Reader executable
PdfFilePrinter.AdobeReaderPath = @"C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe";
// Create a PdfFilePrinter object with the path to the PDF and printer name
PdfFilePrinter printer = new PdfFilePrinter(@"D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf", "Microsoft Print To PDF");
try
{
// Print the PDF document
printer.Print();
}
catch (Exception ex) // Catch any exceptions during printing
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
internal class Program
{
static void Main(string[] args)
{
// Set the path to the Adobe Acrobat Reader executable
PdfFilePrinter.AdobeReaderPath = @"C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe";
// Create a PdfFilePrinter object with the path to the PDF and printer name
PdfFilePrinter printer = new PdfFilePrinter(@"D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf", "Microsoft Print To PDF");
try
{
// Print the PDF document
printer.Print();
}
catch (Exception ex) // Catch any exceptions during printing
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Set the path to the Adobe Acrobat Reader executable
PdfFilePrinter.AdobeReaderPath = "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe"
' Create a PdfFilePrinter object with the path to the PDF and printer name
Dim printer As New PdfFilePrinter("D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf", "Microsoft Print To PDF")
Try
' Print the PDF document
printer.Print()
Catch ex As Exception ' Catch any exceptions during printing
Console.WriteLine("Error: " & ex.Message)
End Try
End Sub
End Class
- O
PdfFilePrinter.AdobeReaderPathdefine o caminho para o executável do Acrobat Reader (Acrobat.exe) em seu sistema. Ele indica aoPdfFilePrinteronde encontrar o aplicativo Acrobat, que é necessário para o processo de impressão. Certifique-se de adicionar o caminho correto, caso contrário, não funcionará. - Um novo objeto
PdfFilePrinteré criado. O construtor recebe dois argumentos: O primeiro argumento é o caminho para o arquivo PDF que você deseja imprimir. O segundo argumento é o nome da impressora para a qual você deseja enviar o trabalho de impressão ("Microsoft Print To PDF" neste caso). Você pode substituir isso pelo nome da sua impressora desejada. - O código tenta imprimir o documento PDF usando o método
PrintdePdfFilePrinter. Está envolvido em um blocotry-catchpara lidar com quaisquer exceções que possam ocorrer durante o processo de impressão. Se ocorrer uma exceção, a mensagem de erro será exibida no console. - Quando você executar o programa, o Adobe Acrobat Reader será aberto e imprimirá o documento.

Instalar Pacote NuGet IronPDF
Instalar o IronPDF no seu projeto é um processo muito direto.
- Inicie o Visual Studio 2022 e abra o seu projeto C# ou crie um novo, se ainda não tiver feito.
- Clique com o botão direito no seu projeto no Solution Explorer. Em seguida, selecione "Gerenciar Pacotes NuGet..." no menu de contexto.
- Na janela do Gerenciador de Pacotes NuGet, certifique-se de que está na guia "Procura". Digite "IronPDF" na barra de pesquisa.
- A partir dos resultados da pesquisa, encontre o pacote
IronPdfoferecido pela Iron Software, e clique nele para selecionar. - No lado direito da janela "Gerenciador de Pacotes NuGet", você verá uma lista de projetos na sua solução. Escolha o(s) projeto(s) onde você deseja instalar o pacote. Normalmente, você selecionará o projeto principal onde trabalhará com documentos PDF.

- Após selecionar o(s) projeto(s), clique no botão "Instalar" para adicionar o pacote
IronPdfao(s) seu(s) projeto(s). O NuGet fará o download e instalará o pacote junto com quaisquer dependências necessárias.
É isso! Agora você instalou com sucesso o pacote NuGet IronPDF no seu projeto C# no Visual Studio 2022 e pode começar a usar suas classes e métodos para trabalhar com documentos PDF.
Imprimir um Documento PDF usando IronPDF
Imprimir um arquivo PDF usando IronPDF é uma tarefa bastante simples. Diferente do PDFsharp, o IronPDF fornece uma função para imprimir o documento PDF. O IronPDF fornece configurações de impressão e outros métodos necessários para imprimir documentos. Não precisamos usar nenhum outro processo ou biblioteca de terceiros. A linha de código a seguir demonstra o exemplo de impressão de um arquivo PDF usando IronPDF.
static void Main(string[] args)
{
// Create a new PDF document from the specified file path
PdfDocument pdfDocument = new PdfDocument(@"D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf");
// Print the PDF document using the default printer
pdfDocument.Print();
}
static void Main(string[] args)
{
// Create a new PDF document from the specified file path
PdfDocument pdfDocument = new PdfDocument(@"D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf");
// Print the PDF document using the default printer
pdfDocument.Print();
}
Shared Sub Main(ByVal args() As String)
' Create a new PDF document from the specified file path
Dim pdfDocument As New PdfDocument("D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf")
' Print the PDF document using the default printer
pdfDocument.Print()
End Sub
- A primeira linha cria uma nova instância da classe
PdfDocumentdo IronPDF com um documento PDF do caminho de arquivo especificado. O caminho aponta para a localização do arquivo PDF que você deseja imprimir ("SamplePDF.pdf" neste caso). A classePdfDocumentrepresenta um documento PDF com o qual você pode trabalhar usando o IronPDF. - Após carregar o documento PDF, o método
Printé chamado na instânciaPdfDocument. No contexto do IronPDF, o métodoPrintenvia o documento PDF para a impressora padrão instalada na máquina, iniciando o processo de impressão. - Suponha que nossa impressora padrão seja Microsoft Print to PDF. Neste caso, o código acima abre o diálogo Salvar arquivo durante a execução.

Você também pode especificar uma impressora diferente usando o seguinte código:
// Set the printer name to a specific printer
pdfDocument.GetPrintDocument().PrinterSettings.PrinterName = "my Printer";
// Set the printer name to a specific printer
pdfDocument.GetPrintDocument().PrinterSettings.PrinterName = "my Printer";
' Set the printer name to a specific printer
pdfDocument.GetPrintDocument().PrinterSettings.PrinterName = "my Printer"
- Esta linha configura o trabalho de impressão para usar uma impressora especificada diferente da padrão definindo a propriedade
PrinterNamenoPrinterSettings.
Conclusão
O IronPDF e o PDFsharp são ambas bibliotecas poderosas para trabalhar com arquivos PDF em C# ou .NET. No entanto, o IronPDF oferece uma solução mais moderna e rica em recursos, fornecendo funcionalidades para criar, ler, modificar e converter PDFs, além de suporte para conversão de HTML para PDF. A API direta do IronPDF e a abordagem simplificada facilitam para os desenvolvedores trabalharem com PDFs diretamente dentro de suas aplicações. Por outro lado, o PDFsharp, embora capaz, requer um aplicativo externo como o Acrobat para certas tarefas, como imprimir PDFs, tornando-o comparativamente menos conveniente para lidar com todo o fluxo de trabalho de PDF.
IronPDF é gratuito para desenvolvimento e vem com uma avaliação gratuita para uso comercial.
Perguntas frequentes
Como posso imprimir um PDF em C# sem perder a formatação?
Você pode usar o IronPDF para imprimir PDFs sem perder a formatação. O IronPDF oferece funções de impressão integradas que não exigem aplicativos de terceiros, garantindo que a formatação do documento seja preservada.
Quais são as principais diferenças entre o IronPDF e o PDFsharp?
O IronPDF oferece um conjunto abrangente de funcionalidades, incluindo conversão de HTML para PDF e recursos de impressão integrados. O PDFsharp, por outro lado, exige o Adobe Acrobat Reader para impressão, pois não possui funções de impressão integradas.
Como converter HTML para PDF em C#?
Com o IronPDF, você pode converter HTML para PDF usando o método RenderHtmlAsPdf . Isso permite a conversão fácil de strings ou arquivos HTML para o formato PDF.
É possível adicionar marcas d'água a documentos PDF em C#?
Sim, o IronPDF permite adicionar marcas d'água a documentos PDF utilizando sua API. Esse recurso possibilita personalizar e proteger seus documentos de forma eficaz.
Como instalo o IronPDF usando o NuGet?
Para instalar o IronPDF via NuGet, abra o Visual Studio, clique com o botão direito do mouse no seu projeto, selecione 'Gerenciar Pacotes NuGet...', pesquise por 'IronPDF', escolha seu projeto e clique em 'Instalar'.
O IronPDF suporta assinaturas digitais em documentos PDF?
Sim, o IronPDF permite adicionar assinaturas digitais a documentos PDF, aumentando a segurança e a autenticidade de arquivos importantes.
Posso especificar uma impressora diferente ao imprimir um PDF usando o IronPDF?
Sim, o IronPDF permite que você especifique uma impressora diferente definindo a propriedade PrinterName nas PrinterSettings do PdfDocument .
O IronPDF é gratuito para fins de desenvolvimento?
O IronPDF é gratuito para desenvolvimento e oferece uma versão de avaliação para uso comercial, tornando-o acessível para testes e integração em projetos.



