PDF ドキュメントの印刷を自動化する方法
PDF ドキュメントの印刷の自動化は、さまざまなアプリケーションで一般的なタスクです。この記事では、PDF ファイルをプリンター キューに効率的に送信し、コードから直接印刷する方法について説明します。
.NET Windows フォーム アプローチ
Windows XP 上で実行される Windows Forms .NET 4 アプリケーションでは、コマンド ラインを使用して PDF ファイルを印刷する方法が 1 つあります。これを実装する方法は次のとおりです。
using System.Diagnostics; using System.IO; public void SendToPrinter(string filePath) { // Convert full file path to short path for command line use string shortPath = Path.GetShortPathName(filePath); // Prepare the command line arguments string args = $"/p \"{shortPath}\""; // Create a new Process object Process process = new Process(); process.StartInfo.FileName = "cmd.exe"; process.StartInfo.Arguments = "/C start " + args; process.StartInfo.UseShellExecute = false; process.StartInfo.CreateNoWindow = true; // Execute the command line process.Start(); }
PdfiumViewer を使用した拡張ソリューション
PDF 印刷に特に適した別のオプションは、Google Pdfium ライブラリとその . NETラッパー、PdfiumViewer。このオープンソース ライブラリは、堅牢な PDF 印刷機能を提供します。
using PdfiumViewer; public bool PrintPDF( string printer, string paperName, string filePath, int copies) { try { // Create printer settings var printerSettings = new PrinterSettings { PrinterName = printer, Copies = (short)copies, }; // Create page settings for paper size var pageSettings = new PageSettings(printerSettings) { Margins = new Margins(0, 0, 0, 0), }; foreach (PaperSize paperSize in printerSettings.PaperSizes) { if (paperSize.PaperName == paperName) { pageSettings.PaperSize = paperSize; break; } } // Print PDF document using (var document = PdfDocument.Load(filePath)) { using (var printDocument = document.CreatePrintDocument()) { printDocument.PrinterSettings = printerSettings; printDocument.DefaultPageSettings = pageSettings; printDocument.PrintController = new StandardPrintController(); printDocument.Print(); } } return true; } catch { return false; } }
この強化されたアプローチにより、印刷プロセスの制御が強化され、ユーザーの介入なしでサイレント印刷が可能になります。
以上が.NET アプリケーションからの PDF 印刷を自動化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。