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>