SharePoint 2013 文档库中PPT转换PDF
原文: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 文件格式演示文稿格式)
  • .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的文档给的也非常详细,我附后了。

四、完整代码

 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

posted on 2015-02-16 11:01 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/4293840.html

SharePoint 2013 文档库中PPT转换PDF相关推荐

  1. sharepoint 2013 文档库eventhandle权限控制

    记录一下如何在sharepoint server 2013文档库中,使用eventhandle控制文档库document library的条目item权限. ///<summary> // ...

  2. 迁移TFS,批量将文档导入SharePoint 2013 文档库

    一.需求分析 公司需要将存在于旧系统(TFS)所有的文档迁移至新系统(SharePoint 2013).现已经将50G以上的文档拷贝到SharePoint 2013 Server上.这些文档是一些不规 ...

  3. sharepoint 2013 文档库 资源管理器打开报错 在文件资源管理器中打开此位置时遇到问题,将此网站添加到受信任站点列表,然后重试。

    我们在使用sharepoint 2013的文档库或者资源库的时候,经常会需要用到使用"资源管理器"来管理文档,但是有时候,点击"使用资源管理器打开",会提示如下 ...

  4. SharePoint 2013 文档库“样式”变了

    有朋友反馈说文档库的样式变了. 经查证,原来有人修改了视图的"样式":库设置-视图-样式,改为默认即可. 另外,如果编辑页面,编辑web部件的属性,在"杂项"勾 ...

  5. SharePoint 2010文档库批量下载文档的实现

    在SharePoint 2010文档库中,结合单选框,在Ribbon中提供了批量处理文档的功能,比如,批量删除.批量签出.批量签入等,但是,很遗憾,没有提供批量下载,如图: 若选中多个文档后,会发现D ...

  6. SharePoint 2010遍历文档库中所有的文件,文件夹

    转:http://hi.baidu.com/sygwin/item/f99600849d51a12b110ef3eb 创建一个可视WebPart,并拖放一个label控件到ascx文件上,用于显示结果 ...

  7. SharePoint 2016文档库所在数据库表的说明(文档库数据库)

    突然被客户问一个问题,说数据库存在哪一个表,这个原本是开发的事,竟然文档我了,好吧这里记录一下,以便记忆给客户汇报. SharePoint 数据库表说明: Features Table that ho ...

  8. 可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取) ....

    可视化webpart基础开发--TreeView控件读取文档库中的所有文件夹和文件(递归方法读取) 作者:miragesky2049 原文地址:http://blog.csdn.net/mirages ...

  9. 【SharePoint】SharePoint 文档库中html文件打开后直接通过浏览器访问,而不是直接下载

    前言 SharePoint  文档库打开HTML 直接浏览而不是打开下载对话框,按照如下步骤操作完成后,可以直接在浏览器中打开访问页面 设置步骤 1.打开SharePoint管理中心 2.点击&quo ...

最新文章

  1. 597个智慧城市相关试点将临大考
  2. 定义zabbix_action报警通知模板
  3. html5实践开发教程,HTML5基础与实践教程
  4. 无线网卡掉线解决办法
  5. 浅谈caffe中train_val.prototxt和deploy.prototxt文件的区别
  6. 自动计算尺寸列表功能案例ios源码
  7. win7 git 添加 ssh key
  8. Linux CentOS 编译LUA。。搞半天终于对了= =
  9. .net OADate 转javascript的Datetime js 5位 日期 转换
  10. Android Bitmap 开源图片框架分析(精华四)
  11. 哇撒!这几个SpringBoot前后端分离项目(附源码),star过千,快去收藏夹吃灰吧。。。
  12. 回顾 | Apache Flink Meetup · 深圳站精彩回顾(附PPT下载)
  13. 正确理解MySQL中的where和having的区别
  14. a股用计算机模拟走势,告诉你A股今后几天惊现千股涨停
  15. 衡量度量过程性能的几个指标
  16. ASAM MCD2D 笔记(1) - ODX use cases
  17. 游戏引擎——cocos2d-x
  18. 射击末世--代理模式
  19. pion实现录制WebRTC流
  20. c语言小车程序,循迹小车的C语言程序(带注释)

热门文章

  1. 2.18 logistic 损失函数的解释
  2. java进销存系统源码_青云源码——最新企业进销存管理系统源码分享
  3. 敏捷开发系列学习总结(14)——Spotify敏捷模式详解三部曲第二篇:研发过程
  4. Linux学习总结(44)——Linux操作系统基础知识
  5. SVN学习总结(3)——分支合并
  6. 反射 数据类型_这是一份超全面详细的Java反射机制学习指南
  7. 爱奇艺开源轻量级插件化方案 Neptune
  8. 【火炉炼AI】机器学习006-用决策树回归器构建房价评估模型
  9. synchronized猎奇
  10. eslint的安装与使用