欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# 打印PPT幻灯片

程序员文章站 2022-06-05 20:46:23
本文主要归纳总结了常见的几种PPT幻灯片文档打印的方法及需求。具体通过C#示例来分别阐述以下几种情况: 一、通过PresentationPrintDocument 对象来打印 使用默认打印机打印文档 使用虚拟打印机(Microsoft XPS Document Writer)打印 设置打印页码范围、 ......

本文主要归纳总结了常见的几种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 = 1;
document.printersettings.topage = 2;

//设置打印份数
document.printersettings.copies = 2;

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);

 

(本文完)

转载请注明出处!!