spire.presentation支持丰富的格式转换,例如ppt、pptx格式互转,ppt/pptx转pdf,ppt/pptx转png,ppt/pptx转svg(可缩放矢量图)。下表列出了实现这些格式转换的具体方法及用法。
方法 | 参数一 | 参数二 | 作用 |
presentation.savetofile(string file, fileformat fileformat) | string类型变量,用于指定文件名及地址 | 枚举类型变量,用于指定文件保存格式。此枚举包含auto、ppt、pptx2007、pptx2007、pptx2010、pptx2013、ppsx2007、 ppsx2010、ppsx2013、pps、odp、xps、pdf |
将powerpoint文档保存为指定格式的文件 |
presentation.savetosvg() | 将powerpoint文档保存为svg(可缩放矢量图)格式文件 | ||
islide.saveasimage() | 将幻灯片(slide)按原始大小保存为bitmap对象 | ||
islide.saveasimage(int width, int height) | int类型变量,用于指定图片的宽度 | int类型变量,用于指定图片的高度 | 将幻灯片按指定大小保存为bitmap对象 |
islide.saveasemf(string filepath) | string类型变量,用于指定文件名及地址 | 将幻灯片保存为emf图片 |
powerpoint转换为pdf
通过presentatin.savetofile()的方法,我们可以将powerpoint文件转换为ppt、pptx、 ppsx、 pps、 odp、 xps、 pdf格式的文档。这里以转到pdf为例:
c#
//初始化presentation实例
presentation presentation = new presentation();
//加载一个powerpoint文档
presentation.loadfromfile("模板.pptx");
//保存为pdf文档
presentation.savetofile("topdf.pdf", fileformat.pdf);
vb.net
'初始化presentation实例
dim presentation as new presentation()
'加载一个powerpoint文档
presentation.loadfromfile("模板.pptx")
'保存为pdf文档
presentation.savetofile("topdf.pdf", fileformat.pdf)
powerpoint转换为位图
通过islide.saveasimage()方法,我们可以将特定的幻灯片转换为常见的位图格式,包括png、bmp、jpeg、tiff。这里以转到png为例:
c#
//初始化presentation实例
presentation presentation = new presentation();
//加载一个powerpoint文档
presentation.loadfromfile("模板.pptx");
//遍历powerpoint文档中的幻灯片并保存为png图片
for (int i = 0; i < presentation.slides.count; i )
{
image image = presentation.slides[i].saveasimage();
string filename = string.format("图{0}.png", i);
image.save(filename, system.drawing.imaging.imageformat.png);
}
vb.net
'初始化presentation实例
dim presentation as new presentation()
'加载一个powerpoint文档
presentation.loadfromfile("模板.pptx")
'遍历powerpoint文档中的幻灯片并保存为png图片
for i as integer = 0 to presentation.slides.count - 1
dim image as image = presentation.slides(i).saveasimage()
dim filename as [string] = [string].format("图{0}.png", i)
image.save(filename, system.drawing.imaging.imageformat.png)
next
powerpoint转换为矢量图(emf,svg)
powerpoint转emf:
c#
//初始化presentation实例
presentation presentation = new presentation();
//加载一个powerpoint文档
presentation.loadfromfile("模板.pptx");
//遍历powerpoint文档中的幻灯片并保存为emf图片
for (int i = 0; i < presentation.slides.count; i )
{
string filename = string.format("result-{0}.emf", i);
presentation.slides[i].saveasemf(filename);
}
vb.net
'初始化presentation实例
dim presentation as new presentation()
'加载一个powerpoint文档
presentation.loadfromfile("模板.pptx")
'遍历powerpoint文档中的幻灯片并保存为emf图片
for i as integer = 0 to presentation.slides.count - 1
dim filename as [string] = [string].format("result-{0}.emf", i)
presentation.slides(i).saveasemf(filename)
next
powerpoint转svg
c#
//初始化presentation实例
presentation presentation = new presentation();
//加载一个powerpoint文档
presentation.loadfromfile("模板.pptx");
//将powerpoint转换为svg图像并以字节形式存储在列队中
queue svgbytes = presentation.savetosvg();
//获取列队中字节数组生成svg文件
int len = svgbytes.count;
for (int i = 0; i < len; i )
{
filestream fs = new filestream(string.format("svg-{0}.svg", i), filemode.create);
byte[] bytes = svgbytes.dequeue();
fs.write(bytes, 0, bytes.length);
presentation.dispose();
}
vb.net
'初始化presentation实例
dim presentation as new presentation()
'加载一个powerpoint文档
presentation.loadfromfile("模板.pptx")
'将powerpoint转换为svg图像并以字节形式存储在列队中
dim svgbytes as queue(of byte()) = presentation.savetosvg()
'获取列队中字节数组生成svg文件
dim len as integer = svgbytes.count
for i as integer = 0 to len - 1
dim fs as new filestream(string.format("svg-{0}.svg", i), filemode.create)
dim bytes as byte() = svgbytes.dequeue()
fs.write(bytes, 0, bytes.length)
presentation.dispose()
next