通过采用 PowerPoint Automation Services,能够从 PowerPoint
二进制文件格式 (.ppt) 和 PowerPoint Open XML 文件格式 (.pptx)
转换为其余格式。例如,您或者要求将一批 PowerPoint 97–贰零零叁 文件升级到
Open XML
演示文稿文件。您还足以在“编辑”菜单中开创自定义操作,以允许用户按需创造PDF 版本的以身作则文稿。

① 、效果演示:

一 、新建1个ppt文书档案(office
二零一三,后缀pptx),添加始末,上传到文档库,如下图:

XML 1

贰 、新建三个测试文书档案库,上传该ppt到文书档案库,如下图:

XML 2

叁 、执行写好的转移程序,执行后,文书档案库多出一个pdf文书档案,如下图:

XML 3

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

XML 4

  综上所述,就是运用 PowerPoint Automation
Services服务,将文书档案库中的ppt文书档案,自动转换来为pdf文档。当然,也得以用于将ppt类型的文书档案,批量更换为pptx文书档案。

⑤ 、科学普及一下PPTX类型文书档案

  Open XML标准的简短介绍:Ecma Office Open XML(“Open
XML”)是针对性字处理文书档案、演示文稿和电子表格的国际化开放标准,可免费供多少个应用程序在三个平台上得以实现。

  该专业目的在于提供现有 ISO
标准所十分的小概提供的例外好处,当中囊括能够落实从现有二进制格式向基于 XML
的格式的高保真移植。

 

② 、操作步骤:

  首先,创制2个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下,如下图:

XML 5

  然后,编写宗旨代码,如下:

 1 //PDF转换,extension是原文档后缀,验证是不是该格式
 2 PdfRequest request = new PdfRequest(
 3     fStream,
 4     ".pptx",
 5 stream);
 6 
 7 //开始转换
 8 IAsyncResult result = request.BeginConvert(
 9     SPServiceContext.GetContext(site),
10     null,
11     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–二零零二 文件
(.ppt) 或 Open XML 文件格式演示文稿 (.pptx) 转换为 .pdf
文件。在上面提及的第1种方案中,您使用此类将演示文稿转换为 PDF 文件。

  PdfRequest 类的构造函数方法也不无八个必备参数(input、extension 和
output),那好像于 PresentationRequest 类。

3、PictureRequest

  PictureRequest 类(也继承自 Request 类)将 PowerPoint 97–二〇〇二 文件
(.ppt) 或 Open XML 文件格式演示文稿 (.pptx) 转换为一组 .jpg 或 .png
格式的图像文件。

  别的,PictureRequest
类的构造函数方法具有八个须要参数。input、extension 和 output 参数与
PresentationRequest 类构造函数的参数近似。PictureRequest
类的构造函数方法也存有要求的 format 参数,该参数必需是 PictureFormat
枚举中的常数。

肆 、不难表明

  其实使用起来,便是更换分歧种类,使用不一样的类,但是extension的参数,填写原来的书文书档案的扩大名,代码很简单,MSDN的文档给的也格外详细,小编附后了。

 

肆 、完整代码

XML 6XML 7

 1 string siteURL = "http://URL";
 2 using (SPSite site = new SPSite(siteURL))
 3 {
 4     using (SPWeb web = site.OpenWeb())
 5     {
 6         Console.WriteLine("Begin conversion");
 7 
 8         SPFolder docs = web.Folders[siteURL +
 9             "/PPT_Transfer"];
10         SPFile file = docs.Files[siteURL +
11             "/PPT_Transfer/TransferPPT.pptx"];
12 
13         Stream fStream = file.OpenBinaryStream();
14         SPFileStream stream = new SPFileStream(web, 0x1000);
15 
16         //PDF转换,extension是原文档后缀,验证是不是该格式
17         PdfRequest request = new PdfRequest(
18             fStream,
19             ".pptx",
20             stream);
21 
22         IAsyncResult result = request.BeginConvert(
23             SPServiceContext.GetContext(site),
24             null,
25             null);
26 
27         request.EndConvert(result);
28 
29         //新文档添加到文档库
30         SPFile newFile = docs.Files.Add(
31             "TransferPdf.pdf",
32             stream,
33             true);
34         Console.WriteLine("Output: {0}", newFile.Url);
35 
36     }
37 }

View Code

 

参考文献

SharePoint 2013 中的 PowerPoint Automation Services

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

相关文章

网站地图xml地图