Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2473362
  • 博文数量: 103
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1043
  • 用 户 组: 普通用户
  • 注册时间: 2017-10-27 10:00
文章分类

全部博文(103)

文章存档

2019年(49)

2018年(45)

2017年(9)

我的朋友

分类: C#/.net

2019-09-20 15:29:45

本文主要归纳总结了常见的几种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所有页面

  1. Presentation ppt = new Presentation();
  2. ppt.LoadFromFile("Sample.pptx");

  3. PresentationPrintDocument document = new PresentationPrintDocument(ppt);
  4. document.PrintController = new StandardPrintController();

  5. ppt.Print(document);

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

  1. Presentation ppt = new Presentation();
  2. ppt.LoadFromFile("Sample.pptx");

  3. PresentationPrintDocument document = new PresentationPrintDocument(ppt);
  4. document.PrinterSettings.PrinterName = "Microsoft XPS Document Writer";
  5.      
  6. ppt.Print(document);

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

  1. Presentation ppt = new Presentation();
  2. ppt.LoadFromFile("Sample.pptx");

  3. PresentationPrintDocument document = new PresentationPrintDocument(ppt);
  4.             
  5. //设置打印过程中的显示名称
  6. document.DocumentName = "展示报表部分打印";

  7. //设置打印页码范围
  8. document.PrinterSettings.PrintRange = PrintRange.SomePages;
  9. document.PrinterSettings.FromPage = 1;
  10. document.PrinterSettings.ToPage = 2;

  11. //设置打印份数
  12. document.PrinterSettings.Copies = 2;

  13. ppt.Print(document);

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

  1. //加载示例文档
  2. Presentation ppt = new Presentation();
  3. ppt.LoadFromFile("Sample.pptx");

  4. //使用 PrinterSettings 对象打印幻灯片
  5. PrinterSettings ps = new PrinterSettings();
  6. ps.PrintRange = PrintRange.AllPages;
  7. ps.PrintToFile = true;
  8. ps.PrintFileName = ("Print.xps");

  9. //打印时幻灯片加框
  10. ppt.SlideFrameForPrint = true;

  11. //灰度打印
  12. ppt.GrayLevelForPrint = true;

  13. //每四张幻灯片打印到一页
  14. ppt.SlideCountPerPageForPrint = PageSlideCount.Four;

  15. //设置打印方向
  16. ppt.OrderForPrint = Order.Horizontal;

  17. ////打印不连续页面
  18. //ppt.SelectSlidesForPrint("1", "3");

  19. //打印
  20. ppt.Print(ps);

(本文完)
转载请注明出处!

阅读(108) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册