Cara Mengautomasikan Mencetak Dokumen PDF
Mengautomasikan pencetakan dokumen PDF ialah tugas biasa dalam pelbagai aplikasi. Dalam artikel ini, kami meneroka cara menghantar fail PDF ke baris gilir pencetak dengan cekap dan memintanya dicetak terus daripada kod anda.
.NET Windows Forms Approach
Untuk Aplikasi Windows Forms .NET 4 yang dijalankan pada Windows XP, satu pendekatan melibatkan penggunaan baris arahan untuk mencetak fail PDF. Begini cara untuk melaksanakan ini:
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(); }
Penyelesaian Dipertingkat dengan PdfiumViewer
Pilihan lain, terutamanya sesuai untuk pencetakan PDF, ialah memanfaatkan perpustakaan Google Pdfium dan . Pembalut NET, PdfiumViewer. Pustaka sumber terbuka ini menyediakan keupayaan pencetakan PDF yang mantap:
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; } }
Pendekatan dipertingkat ini memberikan lebih kawalan ke atas proses pencetakan dan membolehkan pencetakan senyap tanpa interaksi pengguna.
Atas ialah kandungan terperinci Bagaimana untuk Mengautomasikan Pencetakan PDF daripada Aplikasi .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!