Mit dem PDFTOPRINER -Projekt können PDF -Dateien drucken. Das Paket enthält PDFTOPRinter_M.exe und kopiert es vor dem Bauereignis in den Ausgangsordner. Außerdem bietet es eine PDFTOPRinterPrinter -Klasse, in der PDFTOPRinter_M.exe innerhalb einer "Druck" -Methode in einem separaten Vorgang mit Standard -Timeout 1 -Minute ausgeführt wird (das Timeout kann durch das 3. Argument überredet werden). In der "Druck" -Methode wird eine neue PDFTOPRINER_M.EXE -Instanz pro Anruf ausgeführt. Standardmäßig wird der neue Druck nicht beginnen, während der vorherige von derselben PDFTOPRINERPRINTER -Instanz nicht abgeschlossen ist. Sie können jedoch die Parallelitätsstufe mit dem Konstruktor mit Argumenten verwenden.
HINWEIS: Die Parallelitätsebene funktioniert in der PDFTOPRinterPrinter -Instanz.
Stichprobenverbrauch:
Verwenden Sie den lokalen Drucker
var filePath = @"c:pathtopdffile.pdf" ;
var printerName = "Vendor Color Printer Name" ;
var printer = new PDFtoPrinterPrinter ( ) ;
printer . Print ( new PrintingOptions ( printerName , filePath ) ) ;Verwenden Sie den Netzwerkdrucker mit Timeout
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 ) ;Verwenden Sie den Netzwerkdrucker mit 5 Parallelitätsdruckern. In diesem Fall werden bis zu 5 Instanzen von pdftoprinter_m.exe gleichzeitig gestartet
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 ) ) ;
}Wenn Sie nach dem Drucken Dateien löschen müssen, können Sie "CleanUpFilePrinter" verwenden:
var filePath = @"c:pathtopdffile.pdf" ;
var networkPrinterName = @"\myprintserverprinter1" ;
var printer = new CleanupFilesPrinter ( new PDFtoPrinterPrinter ( ) ) ;
printer . Print ( new PrintingOptions ( networkPrinterName , filePath ) ) ; Das PDFTOPRINER -Paket ist nur für Windows -Maschinen verfügbar. Wenn sich auf ein Anwendung net5.0 Framework und später verweist, muss "targetFramework" in net [Version] .0-Windows in einer CSPROJ- Datei geändert werden. Z.B
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net7.0-windows</TargetFramework>
</PropertyGroup>
</Project>