使用Free Spire.Presentation生成PowerPoint文件
使用Free Spire.Presentation生成PowerPoint文件
前言
之前有写过一篇使用Free Spire.XLS生成图表的文章,朋友圈内反应还不错,都希望我能继续写下去,把类似的产品都介绍一下。正好我前段时间把Spire的产品都过了一遍,趁着还算熟悉,写点文章分享一下自己的心得。这次介绍的是使用Free Spire.Presentation生成一个简单的PowerPoint文件。
准备
首先从官方网站上下载Free Spire.Presentation组件,安装后有一个Sample Center,类似功能展示的一个程序,有实例代码和相关dll文件,可编译运行,非常方便;当然,如果你只是想下载dll文件,可以使用nuget获取,命令如下:
PM> Install-Package FreeSpire.Presentation
步骤
1. 创建一个PowerPoint文档,默认会生成一张新的幻灯片。
Presentation ppt = new Presentation();
ISlide slide = ppt.Slides[0];
2. 使用图片来填充幻灯片的背景。
//需要设置Type为Custom, 否则无效
slide.SlideBackground.Type = BackgroundType.Custom;
slide.SlideBackground.Fill.FillType = FillFormatType.Picture;
slide.SlideBackground.Fill.PictureFill.Picture.EmbedImage = ppt.Images.Append(Image.FromFile("bg.jpg"));
slide.SlideBackground.Fill.PictureFill.FillType = PictureFillType.Stretch;
3. 接下来填充一段文本,并设置相关的样式。这里要说明一下,如果不进行样式的设置,生成文本的颜色、字体、大小等会很奇怪。
RectangleF textRect = new RectangleF(295, 26, 129, 30);
IAutoShape shape = slide.Shapes.AppendShape(ShapeType.Rectangle, textRect);
shape.Fill.FillType = FillFormatType.None;
shape.Line.FillType = FillFormatType.None;
TextParagraph tp = new TextParagraph();
TextRange tr = new TextRange("National Report");
tr.Format.LatinFont = new TextFont("Arial Narrow");
tr.Format.FontHeight = 18f;
tr.Fill.FillType = FillFormatType.Solid;
tr.Fill.SolidColor.Color = Color.Black;
tp.TextRanges.Append(tr);
4. 插入一个表格并填充数据,然后设置表格的样式。我使用的数组在一个二维数组里,正好对应表格的行列。由于代码过长,这里只贴关键部分:
ITable table = ppt.Slides[0].Shapes.AppendTable(ppt.SlideSize.Size.Width / 2 - 275, 90, widths, heights);
//填充数据
for (int i = 0; i < 13; i++)
{
for (int j = 0; j < 5; j++)
{
table[j, i].TextFrame.Text = dataStr[i, j];
//设置字体
table[j, i].TextFrame.Paragraphs[0].TextRanges[0].LatinFont = new TextFont("Arial Narrow");
//居中显示文本
table[j, i].TextFrame.Paragraphs[0].Alignment = TextAlignmentType.Center;
}
}
//使用内建的表格样式
table.StylePreset = TableStylePreset.MediumStyle4Accent1;
5. 设置页脚的内容。
ppt.SetFooterText("Free Spire.Presentation");
//默认不可见,下同
ppt.SetFooterVisible(true);
ppt.SetSlideNoVisible(true);
ppt.SetDateTimeVisible(true);
6. 保存到本地并打开。
ppt.SaveToFile("Result.pptx", FileFormat.Pptx2010);
System.Diagnostics.Process.Start("Result.pptx");
生成的PowerPoint文件如下图:
总结
网上操作PowerPoint的组件不多,Free Spire.Presentation的优势在于免费易用,功能相较Commercial版本略有不足,而且做多只能处理10张幻灯片,不过对于普通使用者来说已经足够了。
转载于:https://www.cnblogs.com/Yesi/p/4530288.html
使用Free Spire.Presentation生成PowerPoint文件相关推荐
- java使用Spire.Doc生成的word文件去除水印(头部的警告信息)
1.需求 通过word模板和库表中数据动态生成word文档. word操作工具本身自带word转xml(直接另存为xml即可). 但是需求明确了,只能用word模板,也不允许用户手动从word转xml ...
- Aspose.Slides使用教程:使用 C++ 访问或修改 PowerPoint 文件的属性
PowerPoint 文件包含提供有关演示文稿的附加信息的元数据或文档属性.其中包括演示文稿的标题.日期.作者等信息.在本文中,将学习 如何使用 C++ 访问和修改 PowerPoint 演示文稿中的 ...
- Python批量导入图片生成PowerPoint 2007+文件
说明:本文是"Python批量爬取微信公众号文章中的图片"的后续文章,用来把从公众号批量抓取的图片还原为PowerPoint 2007文件. 使用方法:安装扩展库python-pp ...
- python批量导入图片_Python批量导入图片生成PowerPoint 2007+文件
原标题:Python批量导入图片生成PowerPoint 2007+文件 说明:本文是"Python批量爬取微信公众号文章中的图片"的后续文章,用来把从公众号批量抓取的图片还原为P ...
- Spire.Presentation使用教程:在Java中设置PowerPoint图像的透明度
Spire.Presentation for Java专业的 PowerPoint API,它允许开发人员在 Java 应用程序中创建.读取.写入.转换和保存 PowerPoint 文档,而无需安装 ...
- C# 将PowerPoint文件转换成PDF文件
PowerPoint的优势在于对演示文档的操作上,而用PPT查看资料,反而会很麻烦.这时候,把PPT转换成PDF格式保存,再浏览,不失为一个好办法.在日常编程中和开发软件时,我们也有这样的需要.本文旨 ...
- java ppt控件_Java版PPT操作控件Spire.Presentation v2.12.2新版来袭!支持获取具有超链接的目标幻灯片...
Spire.Presentation for Java是专业的 PowerPoint API,它允许开发人员在 Java 应用程序中创建.读取.写入.转换和保存 PowerPoint 文档.作为一款独 ...
- Java Spire.Presentation 之PPT文本图片内容提取
目录结构 前言 文档准备 引入Maven依赖 代码块 提取结果验证 ppt_demo.ppt 提取结果 pptx_demo.pptx 提取结果 前言 应公司需求,需实现以下功能 PPT文本内容的替换: ...
- 使用PptxGenJS框架自定义模板生成PPT文件(1)
前序 因为业务要求需要使用自定义模板来生成PPT,但是查阅了大量的资料的发现目前后台的开发PPT框架不支持公司的业务: poi.去看了apachePOI官方文档可以发现并没有生成图片(chart)的方 ...
最新文章
- 对于学习方式的一些思考
- 对三层架构的简单改进
- starter_您是否尝试过MicroProfile Starter?
- 线性表----链式表
- python提取hbase数据_详解python操作hbase数据的方法介绍
- Git的基本概念/常用命令及实例
- suse系统_据传 SUSE 将进行 IPO,高达 60 亿美元 | 新闻拍一拍
- GridView批量删除页面最后N条数据时自动翻到上一页问题
- HDOJ2013_蟠桃记
- JavaScript高级程序设计(4)
- demo:用matlab app designer做一个简易app
- lise什么意思中文翻译_list中文是什么意思?
- 第十四、十五周新总结
- 使用融云 IM SDK 实现 H5 直播聊天
- Android Gradle Composing builds 管理三方依赖
- Android 通过代码执行shell命令获取电量百分比
- 两种常用碱性磷酸酶化学发光底物APS-5/AMPPD(CAS:193884-53-6/122341-56-4)
- 什么是HTML? HTML基础
- 伯克利分校研究生计算机排名及申请,加州大学伯克利分校排名及研究生申请条件...
- 模仿项目 生成随机的测验试卷文件
热门文章
- idea 注释模板_常用的模板函数
- 在java中蓝色_Java基础
- 基于数据库数据增量同步_基于 Flink SQL CDC 的实时数据同步方案
- python 表白程序代码_python抖音表白程序源代码
- 微博抽奖贴为什么到时间了不开奖_热搜第一!微博闹剧,锦鲤“信小呆”被这样处罚...
- countanddown java_Java多线程之CountDownLatch
- char* 去除后面几个字符_【算法打卡】去除重复字母
- linux mariadb 图形化,linux 初学者 - MariaDB 图形管理篇
- php简单验证码实例,php结合GD库简单实现验证码的示例代码
- ce修改面板属性_脑叶公司员工属性CE修改教程