手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

C# 如何打印PDF文档

时间:2024-10-15 15:40:57

此经验主要了介绍通过C#编程来打印PDF文档的方法。示例将从以下几种情况来介绍:1. 使用默认打印机打印PDF文档2. 使用虚拟打印机(Microsoft XPS Document Writer)打印PDF文档3. 指定打印机及PDF文档打印页码范围4. 静默打印PDF文档5. 双面打印PDF文档

工具/原料

Free Spire.PDF(社区版) 或者 Spire.PDF 3.9.360之前的版本均可

Visual Studio

1. 使用默认打印机打印PDF

1、//加载PDF文档PdfDocument doc = new PdfDocument();doc.LoadFromFile("Test.pdf");//使用默认打印机打印文档所有页面doc.PrintDocument.Print();

2. 使用虚拟打印机打印PDF

1、虚拟打印机(Microsoft XPS Document Writer)//加载PDF文档PdfDocument doc = new PdfDocument();doc.LoadFromFile("Test.pdf");//选择Microsoft XPS Document Writer打印机doc.PrintDocument.PrinterSettings.PrinterName = "Microsoft XPS Document Writer";//打印PDF文档到XPS格式doc.PrintDocument.PrinterSettings.PrintToFile = true;doc.PrintDocument.PrinterSettings.PrintFileName = "PrintToXps.xps";doc.PrintDocument.Print();

3.指定打印机及文档打印页码范围

1、//加载PDF文档PdfDocument doc = new PdfDocument();doc.LoadFromFile("Test.pdf");//设置打印对话框属性PrintDialog dialogPrint = new PrintDialog();dialogPrint.AllowPrintToFile = true;dialogPrint.AllowSomePages = true;dialogPrint.PrinterSettings.MinimumPage = 1;dialogPrint.PrinterSettings.MaximumPage = doc.Pages.Count;dialogPrint.PrinterSettings.FromPage = 1;dialogPrint.PrinterSettings.ToPage = doc.Pages.Count;if (dialogPrint.ShowDialog() == DialogResult.OK){ //指定打印机及打印页码范围 doc.PrintFromPage = dialogPrint.PrinterSettings.FromPage; doc.PrintToPage = dialogPrint.PrinterSettings.ToPage; doc.PrinterName = dialogPrint.PrinterSettings.PrinterName; //打印文档 PrintDocument printDoc = doc.PrintDocument; dialogPrint.Document = printDoc; printDoc.Print();}

4.静默打印PDF

1、//加载PDF文档var doc = new PdfDocument();doc.LoadFromFile("Test.pdf");//静默打印PDF文档PrintDocument printDoc = doc.PrintDocument;printDoc.PrintController = new StandardPrintController();printDoc.Print();

5. 双面打印PDF

1、//加载PDF文档PdfDocument doc = new PdfDocument();doc.LoadFromFile("Test.pdf");//判断打印机是否支持双面打印bool isDuplex = doc.PrintDocument.PrinterSettings.CanDuplex;if (isDuplex){ //如果支持则设置双面打印模式,可选:Default/Simplex/Horizontal/Vertical doc.PrintDocument.PrinterSettings.Duplex = Duplex.Default; //打印文档 doc.PrintDocument.Print();}

© 手抄报圈