使用Google Pdfium庫實現PDF檔案自動列印
問題:
桌面應用程式產生的PDF檔案需要列印。如何才能在無需用戶幹預的情況下直接將這些文件發送到印表機?
解:
Google Pdfium庫(.NET封裝名為PdfiumViewer)提供了一個無縫列印PDF文件的解決方案。以下是逐步指南:
1. 安裝PdfiumViewer NuGet套件:
在Visual Studio專案中,透過NuGet套件管理器安裝PdfiumViewer NuGet套件。
2. 建立印表機設定:
建構PrinterSettings和PageSettings物件來定義目標印表機和紙張大小。
3. 載入PDF文件:
使用PdfDocument.Load(filename)載入要列印的PDF檔案。
4. 建立列印文件:
使用document.CreatePrintDocument()產生PrintDocument對象,將PDF文件與印表機設定連接。
5. 列印文件:
最後,執行printDocument.Print()啟動列印程序。
實作範例:
以下程式碼片段示範如何靜默列印PDF檔案的多個副本:
<code class="language-csharp">public bool PrintPDF(string printer, string paperName, string filename, int copies) { try { var printerSettings = new PrinterSettings { PrinterName = printer, Copies = (short)copies }; 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; } } using (var document = PdfDocument.Load(filename)) { using (var printDocument = document.CreatePrintDocument()) { printDocument.PrinterSettings = printerSettings; printDocument.DefaultPageSettings = pageSettings; printDocument.PrintController = new StandardPrintController(); printDocument.Print(); } } return true; } catch { return false; } }</code>
以上是如何在沒有使用者互動的情況下自動將 PDF 列印到特定印表機?的詳細內容。更多資訊請關注PHP中文網其他相關文章!