PDFtoPrinter
.Net Wrapper over PDFtoPrinter util allows to print PDF files.
Install / Use
/learn @svishnevsky/PDFtoPrinterREADME
PDFtoPrinter
The PDFtoPrinter project Allows to print PDF files uses PDFtoPrinter util. The package contains PDFtoPrinter_m.exe and copys it to the output folder before build event. Also it provides PDFtoPrinterPrinter class that runs PDFtoPrinter_m.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_m.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_m.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));
dotnet support
PDFToPrinter package is available on Windows machines only. If an application references net5.0 framework and later then it is required to change "TargetFramework" to net[version].0-windows in a csproj file. E.g.
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net7.0-windows</TargetFramework>
</PropertyGroup>
</Project>
Related Skills
node-connect
344.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
99.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
summarize
344.4kSummarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).
feishu-doc
344.4k|
