C# 打印PPT幻灯片
本文主要归纳总结了常见的几种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);
(本文完)
转载请注明出处!!
C# 打印PPT幻灯片的更多相关文章
- Java设置PPT幻灯片背景——纯色、渐变、图片背景
PPT幻灯片生成时,系统默认是无色背景填充,幻灯片设计需要手动设置背景效果,可设置颜色填充或者图片背景填充.本文将对此介绍具体实现方法. 使用工具:Free Spire.Presentation fo ...
- C# 合并、拆分PPT幻灯片
概述 通过合并.拆分的功能,将不同的文档中的幻灯片进行组合形成新的的文档,同时也可以将一个多页的PPT文档按页拆分成多个不同的文档.此功能也丰富了编程人员对PPT幻灯片的操作的选择.下面将分别从以下几 ...
- 实现ppt幻灯片播放倒计时
需求:为控制会议时间,采取ppt幻灯片播放倒计时的办法,倒计时5分钟. 分析:用EnumWindows枚举窗口,发现PPT窗口类名有三种:PP12FrameClass.MS-SDIb.screenCl ...
- PPT幻灯片放映不显示备注,只让备注显示在自己屏幕上-投影机 设置
无论是老师或是讲师还是即将要演讲的人,在讲课之前一定会做好课件,到哪一页该讲哪些内容,到哪里该如何去讲等等.那么一般的讲师会将这些课件存放到哪里呢?是用个书本记载下来呢,还是直接存放到电脑上呢?其实本 ...
- 放映PPT幻灯片演示文稿如何让演讲者备注不投影到屏幕上(转载)
ps files/ps.rar 放映PPT幻灯片演示文稿如何让演讲者备注不投影到屏幕上 如题,在PPT幻灯片的演示文稿中加入演讲者备注(使用PPT讲座时苦于有时会忘记一些要讲的数字,文字等),但是在 ...
- Java 复制PPT幻灯片
本篇文章将介绍通过java程序原样复制PPT幻灯片的方法.这里分两种情况来复制,即 在同一幻灯片文档中复制 在不同幻灯片文档间复制 使用工具:Free Spire.Presentation for J ...
- Java 合并、拆分PPT幻灯片
序 在日常使用PPT时,为了便于操作和管理文档,时常会遇到需要将PPT幻灯片进行合并或拆分的情况.本文将通过Java程序来演示如何进行上述操作. 示例要点: 1. 合并PPT幻灯片 1.1 将第一个P ...
- Java 将PPT幻灯片转为HTML
本文以Java程序代码为例展示如何通过格式转换的方式将PPT幻灯片文档转为HTML文件.这里的PPT幻灯片可以是.ppt/.pptx/.pps/.ppsx/.potx等格式. 代码实现思路:[加载PP ...
- Java 插入html字符串到PPT幻灯片
通过Java后端代码操作PPT幻灯片时,可直接在幻灯片中绘制形状,并在形状中添加文本字符串内容.本篇文章,介绍一种通过html字符串来添加内容到PPT幻灯片的的方法,可添加文字.图片.视频.音频等.下 ...
随机推荐
- 搭建nuget 服务器
前言 搭建nuget服务器,这是上家公司进行类库管理的方式,其实优点很明显, 1.代码保密 2.代码重复利用效率高,这样不管任何项目只要知道nuget服务器地址就能直接调用 3.可进行版本任意切换提高 ...
- 前端中的设计模式 JavaScript
最近再准备秋招,然后顺便把过去空白的设计模式相关概念补一补,这些内容都是从<JavaScript设计模式与开发实践>一书中整理出来的 (1)单例模式 定义:保证一个类仅有一个实例,并提供一 ...
- 对微软的敌视何时休? 从一篇语言评论文章对C#的评价说起
看到一篇公众号文章<2020年什么编程语言最受欢迎,待遇最高?>,其中对C#的描述如下: 点击阅读原文,看到这是一篇翻译文章:https://codinginfinite.com/top- ...
- 使用注解的Hibernate one-to-many映射
One to many映射关系指的是两个实体间一个实体可以和多个实体有关联关系,但是多的这一端只能和一的这一端的一个实例有关系.它是一个1 到 n的关系.例如在任何的公司员工可以注册多个银行账户,一个 ...
- js学习重点难点知识总结 (巩固闭包、原型、原型链)
学习重点知识总结 1.闭包知识点巩固 闭包函数: 1.可以实现函数外部访问函数内部的变量 2.在Java ...
- 一文搞懂Python中的所有数组数据类型
关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. Github:https:/ ...
- python 16 模块
目录 模块 1. 自定义模块 1.1 模块分类 1.2 模块的导入 1.3 import 和 from 1.4 from 模块名 import * 1.5 模块的用法: 1.6 导入路径 2. tim ...
- 最近学习了JDK SPI
JDK SPI是什么 最近工作中听几个同事说了好几次SPI这个名词,虽然和我没关系,但是心里默默想还是学习一下,不然下次和我说到SPI,连是什么都不知道那就尴尬了. 所以SPI是什么呢?SPI全称Se ...
- dataGrip连接数据库失败[08001]的一种可能原因
我使用的是mac系统,并且由于机型较老,容量不高,为减轻系统负荷,没有设置开机自动启动MYSQL服务.这导致我在一次重启后,重新开启服务,然后就出现了dataGrip连接不上数据库: 在网上查找相 ...
- 问题.springmvc错误.415:Unsupported Media Type
场景是在希望用ajax发post请求,传递一个json对象,在controller中直接使用java对象接收时遇到的,具体错误信息如下: { "timestamp": 150027 ...