PDFtoPrinter
1.0.0
PDFTOPRINTER项目允许打印PDF文件使用pdftoprointer util。该软件包包含PDFTOPRINTER_M.EXE,并在构建事件之前将其编写为输出文件夹。此外,它还提供了PDFTOPRINTERPRINTER类,该类在单独的过程中以默认超时1分钟运行pdftoprointer_m.exe内部的“打印”方法内部(第三参数可以对超时1分钟)进行操作。 “打印”方法每个呼叫运行新的pdftoprinter_m.exe实例。默认情况下,新打印将不会启动,而同一pdftoproprinter实例的前一个未完成。但是您可以使用与参数的构造函数使用设置并发级别。
注意:并发级别在PDFTOPRINTERPRINTER实例中起作用。
示例用法:
使用本地打印机
var filePath = @"c:pathtopdffile.pdf" ;
var printerName = "Vendor Color Printer Name" ;
var printer = new PDFtoPrinterPrinter ( ) ;
printer . Print ( new PrintingOptions ( printerName , filePath ) ) ;将网络打印机与超时使用
var filePath = @"c:pathtopdffile.pdf" ;
var networkPrinterName = @"\myprintserverprinter1" ;
var printTimeout = new TimeSpan ( 0 , 30 , 0 ) ;
var printer = new PDFtoPrinterPrinter ( ) ;
printer . Print ( new PrintingOptions ( networkPrinterName , filePath ) , printTimeout ) ;使用5个并发打印的网络打印机。在这种情况下,将同时启动多达5个pdftoprinter_m.exe的实例
var filePath = @"c:pathtopdffile.pdf" ;
var networkPrinterName = @"\myprintserverprinter1" ;
var allowedCocurrentPrintings = 5 ;
var printer = new PDFtoPrinterPrinter ( allowedCocurrentPrintings ) ;
for ( var i = 0 ; i < 10 ; i ++ )
{
wrapper . Print ( new PrintingOptions ( networkPrinterName , filePath ) ) ;
}如果您需要在打印后删除文件,则可以使用“ callupfilesprinter”:
var filePath = @"c:pathtopdffile.pdf" ;
var networkPrinterName = @"\myprintserverprinter1" ;
var printer = new CleanupFilesPrinter ( new PDFtoPrinterPrinter ( ) ) ;
printer . Print ( new PrintingOptions ( networkPrinterName , filePath ) ) ; PDFTOPRINTER软件包仅在Windows机器上可用。如果应用程序引用了Net5.0框架,则需要将“ TargetFramework”更改为CSPROJ文件中的Net [version] .0-windows 。例如
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net7.0-windows</TargetFramework>
</PropertyGroup>
</Project>