爱游戏全站app官网入口-爱游戏官网

sharepoint 2013 文档库中ppt转换pdf -爱游戏全站app官网入口

2023-09-06,,

  通过使用 powerpoint automation services,可以从 powerpoint 二进制文件格式 (.ppt) 和 powerpoint open xml 文件格式 (.pptx) 转换为其他格式。例如,您可能需要将一批 powerpoint 97–2003 文件升级到 open xml 演示文稿文件。您还可以在“编辑”菜单中创建自定义操作,以允许用户按需创建 pdf 版本的演示文稿。

一、效果演示:

1、新建一个ppt文档(office 2013,后缀pptx),添加内容,上传到文档库,如下图:

2、新建一个测试文档库,上传该ppt到文档库,如下图:

3、执行写好的转换程序,执行后,文档库多出一个pdf文档,如下图:

4、查看新生成的pdf文件,如下图:

  综上所述,就是使用 powerpoint automation services服务,将文档的ppt文档,自动转换成为pdf文档。当然,也可以用于将ppt类型的文档,批量转换为pptx文档。

5、科普一下pptx类型文档

  open xml标准的简单介绍:ecma office open xml(“open xml”)是针对字处理文档、演示文稿和电子表格的国际化开放标准,可免费供多个应用程序在多个平台上实现。

  该标准旨在提供现有 iso 标准所无法提供的独特好处,其中包括能够实现从现有二进制格式向基于 xml 的格式的高保真移植。

二、操作步骤:

  首先,创建一个windows控制台程序(4.0),引用两个类文件(microsoft.sharepoint.dll和microsoft.office.server.powerpoint.dll),前面的类文件就不多说了,后面的位置在c:\windows\microsoft.net\assembly\gac_msil\microsoft.office.server.powerpoint\v4.0_15.0.0.0__71e9bce111e9429c下,如下图:

  然后,编写核心代码,如下:

 //pdf转换,extension是原文档后缀,验证是不是该格式
pdfrequest request = new pdfrequest(
fstream,
".pptx",
stream); //开始转换
iasyncresult result = request.beginconvert(
spservicecontext.getcontext(site),
null,
null);

  支持的目标文档格式包括所有支持的源文档格式,以及以下格式:

.pptx(open xml 文件格式演示文稿格式)
.pdf
.xps(open xml 纸张规范)
.jpg
.png(可移植网络图形格式)

三、其他类成员介绍:

1、presentationrequest

  presentationrequest 类(继承自 request 类)将 powerpoint 97–2003 文件 (.ppt) 或 open xml 文件格式演示文稿 (.pptx) 转换为其他演示文稿文件格式。在上面提及的第一种方案中,您使用此类将文档库中的旧的演示文稿文件转换为 open xml 文件格式演示文稿格式。

  presentationrequest 类的构造函数方法具有三个必需参数:

input - 采用需要转换为 stream 对象的文件。
extension - 指定将转换的文件的文件扩展名的字符串。
output - 指定将存储输出的 spfilestream 对象。

2、pdfrequest

  pdfrequest 类(也继承自 request 类)将 powerpoint 97–2003 文件 (.ppt) 或 open xml 文件格式演示文稿 (.pptx) 转换为 .pdf 文件。在上面提及的第二种方案中,您使用此类将演示文稿转换为 pdf 文件。

  pdfrequest 类的构造函数方法也具有三个必需参数(input、extension 和 output),这类似于 presentationrequest 类。

3、picturerequest

  picturerequest 类(也继承自 request 类)将 powerpoint 97–2003 文件 (.ppt) 或 open xml 文件格式演示文稿 (.pptx) 转换为一组 .jpg 或 .png 格式的图像文件。

  此外,picturerequest 类的构造函数方法具有四个必需参数。input、extension 和 output 参数与 presentationrequest 类构造函数的参数类似。picturerequest 类的构造函数方法也具有必需的 format 参数,该参数必需是 pictureformat 枚举中的常数。

4、简单说明

  其实使用起来,就是转换不同类型,使用不同的类,但是extension的参数,填写原文档的扩展名,代码很简单,msdn的文档给的也非常详细,我附后了。

四、完整代码

 string siteurl = "http://url";
using (spsite site = new spsite(siteurl))
{
using (spweb web = site.openweb())
{
console.writeline("begin conversion"); spfolder docs = web.folders[siteurl
"/ppt_transfer"];
spfile file = docs.files[siteurl
"/ppt_transfer/transferppt.pptx"]; stream fstream = file.openbinarystream();
spfilestream stream = new spfilestream(web, 0x1000); //pdf转换,extension是原文档后缀,验证是不是该格式
pdfrequest request = new pdfrequest(
fstream,
".pptx",
stream); iasyncresult result = request.beginconvert(
spservicecontext.getcontext(site),
null,
null); request.endconvert(result); //新文档添加到文档库
spfile newfile = docs.files.add(
"transferpdf.pdf",
stream,
true);
console.writeline("output: {0}", newfile.url); }
}

参考文献

sharepoint 2013 中的 powerpoint automation services

http://msdn.microsoft.com/zh-cn/library/sharepoint/fp179894

sharepoint 2013 文档库中ppt转换pdf的相关教程结束。

网站地图