C# 打印PDF文档的10种方法

您所在的位置:网站首页 打印机双面打印插件 C# 打印PDF文档的10种方法

C# 打印PDF文档的10种方法

2023-12-31 07:28| 来源: 网络整理| 查看: 265

操作PDF文档时,打印是常见的需求之一。针对不同的打印需求,可分多种情况来进行,如设置静默打印、指定打印页码范围和打印纸张大小、双面打印、黑白打印等等。经过测试,下面将对常见的几种PDF打印需求做一些归纳总结,这里归纳了10种打印需求及方法。如下:

使用默认打印机打印PDF文档 使用虚拟打印机(Microsoft XPS Document Writer)打印PDF文档 指定打印机及PDF文档打印页码范围 静默打印PDF文档 双面打印PDF文档 黑白打印PDF文档 打印PDF文档时选择不同的出纸盒 将PDF文档打印多份 打印PDF一页为多页、打印多页为一页 自定义纸张大小打印PDF 使用工具:Spire.PDF for .NET 获取方法:

1. 通过官网下载。在程序中添加引用Spire.Pdf.dll,dll文件在安装路径下的bin文件夹中。

2. 通过Nuget网站下载。

 C# 示例代码 【示例1】使用默认打印机打印PDF //创建PdfDocument类的对象,并加载PDF文档 PdfDocument doc = new PdfDocument(); doc.LoadFromFile("Test.pdf"); //使用默认打印机打印文档所有页面 doc.Print();

 

【示例2】使用虚拟打印机(Microsoft XPS Document Writer)打印PDF //加载PDF文档 PdfDocument doc = new PdfDocument(); doc.LoadFromFile("Test.pdf"); //选择Microsoft XPS Document Writer打印机 doc.PrintSettings.PrinterName = "Microsoft XPS Document Writer"; //打印PDF文档到XPS格式 doc.PrintSettings.PrintToFile("PrintToXps.xps"); doc.Print();

 

【示例3】指定打印机及PDF文档打印页码范围 //加载PDF文档 PdfDocument doc = new PdfDocument(); doc.LoadFromFile("Test.pdf"); //指定打印机 doc.PrintSettings.PrinterName = "HP LaserJet P1007"; //设置文档打印页码范围 doc.PrintSettings.SelectPageRange(1, 5); //打印不连续的页面 //doc.PrintSettings.SelectSomePages(new int[] { 1, 3, 5, 7 }); //打印PDF文档 doc.Print();

 

【示例4】静默打印PDF //加载PDF文档 PdfDocument doc = new PdfDocument(); doc.LoadFromFile("Test.pdf"); //静默打印PDF文档 doc.PrintSettings.PrintController = new StandardPrintController(); doc.Print();

 

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

 

【示例6】黑白打印PDF //加载PDF文档 PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile("Test.pdf"); //黑白打印PDF文档 pdf.PrintSettings.Color = false; pdf.Print();

 

【示例7】打印PDF文档时选择不同的出纸盒 //加载PDF文档 PdfDocument doc = new PdfDocument(); doc.LoadFromFile("Test.pdf"); //设置纸盒 doc.PrintSettings.PaperSettings += delegate(object sender, PdfPaperSettingsEventArgs e) { //设置页面1-50的纸张来源为纸盒1 if (1


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3