So automatisieren Sie das Drucken von PDF-Dokumenten
Das Automatisieren des Druckens von PDF-Dokumenten ist eine häufige Aufgabe in verschiedenen Anwendungen. In diesem Artikel untersuchen wir, wie Sie PDF-Dateien effizient an die Druckerwarteschlange senden und direkt aus Ihrem Code drucken lassen.
.NET Windows Forms-Ansatz
Für a Bei einer Windows Forms .NET 4-Anwendung, die unter Windows XP ausgeführt wird, besteht ein Ansatz darin, eine Befehlszeile zum Drucken der PDF-Datei zu verwenden. So implementieren Sie dies:
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(); }
Erweiterte Lösung mit PdfiumViewer
Eine weitere Option, die sich besonders für den PDF-Druck eignet, ist die Nutzung der Google Pdfium-Bibliothek und ihrer . NET-Wrapper, PdfiumViewer. Diese Open-Source-Bibliothek bietet eine robuste PDF-Druckfunktion:
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; } }
Dieser verbesserte Ansatz bietet mehr Kontrolle über den Druckprozess und ermöglicht lautloses Drucken ohne Benutzerinteraktion.
Das obige ist der detaillierte Inhalt vonWie automatisiere ich den PDF-Druck aus .NET-Anwendungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!