SharePoint 2013 文档库中PPT转换PDF
通过使用 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下,如下图:
然后,编写核心代码,如下:
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 文件格式演示文稿格式)
- .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的文档给的也非常详细,我附后了。
四、完整代码
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 }
参考文献
SharePoint 2013 中的 PowerPoint Automation Services
http://msdn.microsoft.com/zh-CN/library/sharepoint/fp179894
相关文章
- python批量提取word文档中的图片(含图片格式转换和GUI)
- Word控件Spire.Doc 转换教程(二十一):将非标准字体的word文档转换为PDF
- Word处理控件Aspose.Words功能演示:使用 Java 将 Word 文档 (DOC/DOCX) 转换为 HTML
- Word处理控件Aspose.Words功能演示:使用 C# 将 PowerPoint 演示文稿转换为 Word 文档
- Word处理控件Aspose.Words功能演示:使用 Java 将 Word 文档转换为 Markdown
- Word处理控件Aspose.Words功能演示:在 Python 中将 Word 文档转换为 PNG、JPEG 或 BMP
- Word处理控件Aspose.Words功能演示:使用 C# 将 Word 文档转换为 Markdown
- Word处理控件Aspose.Words功能演示:在 Python 中将 Word 文档转换为 EPUB
- Word处理控件Aspose.Words功能演示:在 Java 中将 HTML 文件转换为 Word 文档
- Word处理控件Aspose.Words功能演示:在 C# 中将 Word 文档转换为 EPUB
- STM8S AD转换
- SQL Server中行列转换 Pivot UnPivot
- clickhouse--json字段类型及基于json相关函数进行行列转换
- 进制转换
- yapi文档转换jmx脚本
- java中String十六进制Stringbyte[]之间相互转换函数
- 关于ELF可执行文件转换为bin二进制文件反而变大带来的思考和解决方法
- java学习笔记(3)数据类型、源码、反码、补码、精度损失、基本数据类型互相转换
- [开源框架推荐]Icepdf:纯java的pdf文档的提取和转换库
- objcopy 格式转换
- 刷题笔记之二(字符串中找出连续最长的数字串+数组中出现次数超过一半的数字+另类加法+计算糖果+进制转换)
- Java编程体验:线程的7种状态及相互转换
- 文档转换python代码
- C# Color值转换为unit
- 轻松实现各种文档格式转换,doc转pdf、doc转png图片、pdf转png图片,可以实现Windows、Linux、MacOS平台上部署(附源码和说明)