deepb1t / PDFtoPrinter

.Net Wrapper over PDFtoPrinter util allows to print PDF files.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PDFtoPrinter

License NuGet NuGet Build status

The PDFtoPrinter project Allows to print PDF files uses PDFtoPrinter util. The package contains PDFtoPrinter.exe and copys it to the output folder before build event. Also it provides PDFtoPrinterPrinter class that runs PDFtoPrinter.exe inside of a "Print" method in a separate process with default timeout 1 minute (the timeout can be overrited by 3rd argument). The "Print" method runs new PDFtoPrinter.exe instance per call. By default new printing will not start while the previous from the same PDFtoPrinterPrinter instance isn't completed. But you can use set concurrency level using constructor with arguments.

Note: Concurrency level works inside PDFtoPrinterPrinter instance.

Sample usage:

Use local printer

var filePath = "c:\path\to\pdf\file.pdf";
var printerName = "Vendor Color Printer Name";
var printer = new PDFtoPrinterPrinter();
printer.Print(new PrintingOptions(printerName, filePath));

Use network printer with timeout

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);

Use network printer with 5 concurrency printings. In this case up to 5 instances of PDFtoPrinter.exe will be started simultaneously

var filePath = "c:\path\to\pdf\file.pdf";
var networkPrinterName = "\\myprintserver\printer1";
var allowedCocurrentPrintings = 5;
var printer = new PDFtoPrinterPrinter(allowedCocurrentPrintings);
for (var i = 0; i < 10; i++)
{
    wrapper.Print(new PrintingOptions(networkPrinterName, filePath));
}

If you need to delete files after printing you can use "CleanupFilesPrinter":

var filePath = "c:\path\to\pdf\file.pdf";
var networkPrinterName = "\\myprintserver\printer1";
var printer = new CleanupFilesPrinter(new PDFtoPrinterPrinter());
printer.Print(new PrintingOptions(networkPrinterName, filePath));

About

.Net Wrapper over PDFtoPrinter util allows to print PDF files.

License:MIT License


Languages

Language:C# 100.0%