PDFTOPRINTERプロジェクトでは、PDFファイルを印刷できます。PDFTOPRINTERUTILを使用します。パッケージにはPDFTOPRINTER_M.EXEが含まれており、ビルドイベントの前に出力フォルダーにコピーします。また、デフォルトのタイムアウト1分で別のプロセスで「印刷」メソッド内でPDFTOPRINTER_M.EXEを実行するPDFTOPRINTERPRINTERクラスを提供します(タイムアウトは3番目の引数によって過剰に制限される可能性があります)。 「印刷」メソッドは、通話ごとに新しいpdftoprinter_m.exeインスタンスを実行します。デフォルトでは、新しいPDFTOPRINTERPRINTERインスタンスの前のインスタンスが完了していない間、新しい印刷は開始されません。ただし、Constructorを使用してSet Concurrencyレベルを使用して使用できます。
注: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つの並行性印刷を備えたネットワークプリンターを使用します。この場合、PDFTOPRINTER_M.EXEの最大5つのインスタンスが同時に開始されます
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 ) ) ;
}印刷後にファイルを削除する必要がある場合は、「cleanupfilesprinter」を使用できます。
var filePath = @"c:pathtopdffile.pdf" ;
var networkPrinterName = @"\myprintserverprinter1" ;
var printer = new CleanupFilesPrinter ( new PDFtoPrinterPrinter ( ) ) ;
printer . Print ( new PrintingOptions ( networkPrinterName , filePath ) ) ; PDFTOPRINTERパッケージは、Windowsマシンでのみ利用できます。アプリケーションがNET5.0フレームワークを参照し、後で「ターゲットフレームワーク」をCSPROJファイルの[バージョン] .0ウィンドウに変更する必要があります。例えば
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net7.0-windows</TargetFramework>
</PropertyGroup>
</Project>