如何自動列印 PDF 文件
自動列印 PDF 文件是各種應用程式中的常見任務。在本文中,我們將探討如何有效地將 PDF 文件傳送到印表機佇列並直接從程式碼列印它們。
.NET Windows 窗體方法
對於在Windows XP 上運行的Windows Forms .NET 4 應用程序,一種方法是利用命令列來列印PDF 文件。實作方法如下:
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中文網其他相關文章!