本文主要归纳总结了常见的几种PPT幻灯片文档打印的方法及需求。具体通过C#示例来分别阐述以下几种情况:

一、通过PresentationPrintDocument 对象来打印

  • 使用默认打印机打印文档
  • 使用虚拟打印机(Microsoft XPS Document Writer)打印
  • 设置打印页码范围、份数和打印PPT时的显示名称

二、通过PrinterSettings 对象来设置打印选项并打印

  • 指定幻灯片打印页面
  • 设置打印方向
  • 设置纸张页面打印的幻灯片数量
  • 设置灰度打印
  • 设置幻灯片加框打印

使用工具:Spire.Presentation for .NET

dll文件获取及引用:

方法1通过官网下载dll文件包。下载后,解压文件并安装。完成安装后,将安装路径下BIN文件夹中的Spire.Presentation.dll程序集文件添加引用至C#程序。

方法2可通过Nuget网站下载。

C#代码示例(供参考)

【示例1】通过默认打印机打印PPT所有页面

Presentation ppt = new Presentation();
ppt.LoadFromFile("Sample.pptx"); PresentationPrintDocument document = new PresentationPrintDocument(ppt);
document.PrintController = new StandardPrintController(); ppt.Print(document);

【示例2】使用虚拟打印机(Microsoft XPS Document Writer)打印

Presentation ppt = new Presentation();
ppt.LoadFromFile("Sample.pptx"); PresentationPrintDocument document = new PresentationPrintDocument(ppt);
document.PrinterSettings.PrinterName = "Microsoft XPS Document Writer"; ppt.Print(document);

【示例3】设置打印页码范围、份数和打印时的显示名称

Presentation ppt = new Presentation();
ppt.LoadFromFile("Sample.pptx"); PresentationPrintDocument document = new PresentationPrintDocument(ppt); //设置打印过程中的显示名称
document.DocumentName = "展示报表部分打印"; //设置打印页码范围
document.PrinterSettings.PrintRange = PrintRange.SomePages;
document.PrinterSettings.FromPage = ;
document.PrinterSettings.ToPage = ; //设置打印份数
document.PrinterSettings.Copies = ; ppt.Print(document);

【示例4】通过PrinterSettings 对象来设置打印选项并打印

//加载示例文档
Presentation ppt = new Presentation();
ppt.LoadFromFile("Sample.pptx"); //使用 PrinterSettings 对象打印幻灯片
PrinterSettings ps = new PrinterSettings();
ps.PrintRange = PrintRange.AllPages;
ps.PrintToFile = true;
ps.PrintFileName = ("Print.xps"); //打印时幻灯片加框
ppt.SlideFrameForPrint = true; //灰度打印
ppt.GrayLevelForPrint = true; //每四张幻灯片打印到一页
ppt.SlideCountPerPageForPrint = PageSlideCount.Four; //设置打印方向
ppt.OrderForPrint = Order.Horizontal; ////打印不连续页面
//ppt.SelectSlidesForPrint("1", "3"); //打印
ppt.Print(ps);

(本文完)

转载请注明出处!!

最新文章

  1. Android开发之画图的实现
  2. 福利到~分享一个基于jquery的智能提示控件intellSeach.js
  3. gulp配置文件备份
  4. NoSQL数据库介绍
  5. python2 安装scrapy问题解决方法
  6. 【HDOJ】3901 Wildcard
  7. Oracle 数据库导入、导出
  8. 第一个VC++ win32程序 绘制简单图形
  9. 绘制基本图形和线型(StrokeStyle)的设置详解
  10. HttpServletResponse对象介绍
  11. Winform应用程序实现通用遮罩层二
  12. Python之路【第七篇】:Python装饰器
  13. MyBatis探究-----传递参数详解
  14. HTML5 background-color和background-image问题共用问题
  15. a stop job is running for Security Auditing Services
  16. RabbitMQ系列教程之七:RabbitMQ的 C# 客户端 API 的简介(转载)
  17. Java练习之使用StringBuilder
  18. 【原创】MySQL5.7.18(ptmalloc VS tcmalloc VS jemalloc)性能测试
  19. 分布式理论(4):Leases 一种解决分布式缓存一致性的高效容错机制(转)
  20. 测试sql语句性能,提高执行效率

热门文章

  1. 导入spark2.3.3源码至intellij idea
  2. ajax提交的问题点记录
  3. .net core 微服务项目-介绍篇
  4. ‎CocosBuilder 学习笔记(1) CCBReader 解析.ccbi文件流程
  5. Leetcode之回溯法专题-39. 组合总数(Combination Sum)
  6. Linux的基本操作(一)
  7. Java中指令重排
  8. HDU 5324 Boring Class CDQ分治
  9. 背包形动态规划 fjutoj2375 金明的预算方案
  10. Period UVALive - 3026