PDFtoPrinter .NET es una biblioteca para .NET que nos permite imprimir de forma muy sencilla un PDF desde una aplicación escrita en C#.
Para ello emplea PDFtoPrinter, una herramienta de línea de comando que permite imprimir archivos PDF en una impresora predeterminada. Internamente, usa una versión gratuita Tracker Software Products :: PDF-XChange Editor.
Usar PDFtoPrinter desde C# no es demasiado complicado. Pero podemos hacerlo aún más sencillo gracias al wrapper para NET.
PDFtoPrinter .NET añade la aplicación de consola como recurso a la aplicación, de forma que no tengamos que descargarla e incluirla como recurso. Simplemente añadimos el paquete Nuget y estamos listos para funcionar.
Es una biblioteca muy sencilla, que carece de opciones para personalizar la impresión, como elegir el formato de papel o la orientación.
Sin embargo, si simplemente tenéis que imprimir un PDF desde una aplicación de en C#, posiblemente sea la forma más sencilla y rápida de añadir esta funcionalidad a vuestro proyecto.
Cómo usar PDFtoPrinter
Podemos añadir la biblioteca a un proyecto de .NET fácilmente, a través del paquete Nuget correspondiente.
Install-Package PDFtoPrinter
A continuación, imprimir un fichero es tan sencillo como hacer.
var filePath = "c:\path\to\pdf\file.pdf";
var networkPrinterName = "\\myprintserver\printer1";
var printTimeout = new TimeSpan(0, 30, 0);
var printer = new PDFtoPrinterPrinter();
printer.Print(new PrintingOptions(networkPrinterName, filePath), printTimeout);
PDFtoPrinter es Open Source, y todo el código y documentación está disponible en el repositorio del proyecto en https://github.com/svishnevsky/PDFtoPrinter