谁能提供用Open XML SDK打开并演示文稿怎么打开PPT的代码

使用演示文稿幻灯片 (Open XML SDK)
使用演示文稿幻灯片
本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
使用演示文稿幻灯片 (Open XML SDK)
Office 2013 及更高版本
本文档是初步文档,以后可能会发生更改。
上次修改时间:日
适用范围:Office 2013 | Open XML
类和它与打开的 XML 文件格式 PresentationML 架构的方式。有关的部件和构成的 PresentationML 文档元素的整体结构的详细信息,请参阅。
此元素在幻灯片列表中指定幻灯片。幻灯片列表用于指定幻灯片的顺序。
&p:custShowLst&
&p:custShow name="Custom Show 1" id="0"&
&p:sldLst&
&p:sld r:id="rId4"/&
&p:sld r:id="rId3"/&
&p:sld r:id="rId2"/&
&p:sld r:id="rId5"/&
&/p:sldLst&
&/p:custShow&&/p:custShowLst&
在上面的示例中,指定的演示幻灯片的顺序为先是幻灯片 4,然后是 3、2,最后是 5。
示例结束]"
(C) ISO/IEC2.
下表列出了在处理演示文稿幻灯片时使用的 &sld& 元素的子元素以及与它们对应的 Open XML SDK 2.5 类。
PresentationML 元素
Open XML SDK 2.5 类
&clrMapOvr&
&transition&
Open XML SDK 2.5Slide 类表示在 Open XML 文件格式架构中为 PresentationML 文档定义的 &sld& 元素。使用 Slide 对象可以处理 PresentationML 文档中的各个 &sld& 元素。
通常与 Slide 类相关联的类在以下各节中说明。
类对应于 &clrMapOvr& 元素。 规范中的以下信息介绍了 &clrMapOvr& 元素:
此元素提供一种机制,使用此机制可以替代 &ClrMap& 元素中列出的配色方案。如果存在 &masterClrMapping& 子元素,则使用母版定义的配色方案。如果存在 &overrideClrMapping& 子元素,则它定义特定于父备注幻灯片、演示文稿幻灯片或幻灯片版式的新配色方案。
(C) ISO/IEC2.
类对应于 &cSld& 元素。 规范中的以下信息介绍 &cSld& 元素:
(C) ISO/IEC2.
类对应于 &extLst&元素。 规范中的以下信息介绍 &extLst& 元素:
此元素指定具有修改功能的扩展名列表,其中定义了元素类型 &ext& 未来的所有扩展名。扩展名列表以及相应的未来扩展名用于扩展 PresentationML 框架的存储功能,从而允许各种新的数据类型以固有的方式存储在该框架内。
[注意:使用此 extLst 元素,生成应用程序可以存储有关此扩展属性是否已修改的相关信息。注释结束]
(C) ISO/IEC2.
类对应于 &timing& 元素。 规范中的以下信息介绍 &timing& 元素:
(C) ISO/IEC2.
类对应于 &transition& 元素。 规范中的以下信息介绍 &transition& 元素:
(C) ISO/IEC2.
类实例与一个
类实例相关联,后者表示幻灯片部件,它是 PresentationML 演示文稿文件包必需的部件之一。每个 Slide 类实例还必须与
类的实例关联,后者反过来与命名相似且由
类表示的必需演示文稿部件关联。
类还与表示 &sld& 元素的子元素的一系列其他类相关联。这些类包括 CommonSlideData 类、ColorMapOverride 类、 类和
类,如以下代码示例所示。
一文的以下方法向现有演示文稿添加一个新幻灯片部件,并在这一新幻灯片部件中创建 Open XML SDK 2.5Slide 类的一个实例。Slide 类构造函数创建 CommonSlideData 和 ColorMapOverride 类的实例。CommonSlideData 类构造函数创建 ShapeTree 类的实例,该类的构造函数反过来又创建其他类实例:
类、 类和 Shape 类的实例。
需要所有这些类实例和表示 &sld& 元素的子元素的类实例才能创建表示新幻灯片所需的最少数量的 XML 元素。
命名空间。
private static SlidePart CreateSlidePart(PresentationPart presentationPart)
SlidePart slidePart1 = presentationPart.AddNewPart&SlidePart&("rId2");
slidePart1.Slide = new Slide(
new CommonSlideData(
new ShapeTree(
new P.NonVisualGroupShapeProperties(
new P.NonVisualDrawingProperties() { Id = (UInt32Value)1U, Name = "" },
new P.NonVisualGroupShapeDrawingProperties(),
new ApplicationNonVisualDrawingProperties()),
new GroupShapeProperties(new TransformGroup()),
new P.Shape(
new P.NonVisualShapeProperties(
new P.NonVisualDrawingProperties() { Id = (UInt32Value)2U, Name = "Title 1" },
new P.NonVisualShapeDrawingProperties(new ShapeLocks() { NoGrouping = true }),
new ApplicationNonVisualDrawingProperties(new PlaceholderShape())),
new P.ShapeProperties(),
new P.TextBody(
new BodyProperties(),
new ListStyle(),
new Paragraph(new EndParagraphRunProperties() { Language = "en-US" }))))),
new ColorMapOverride(new MasterColorMapping()));
return slidePart1;
Private Shared Function CreateSlidePart(ByVal presentationPart As PresentationPart) As SlidePart
Dim slidePart1 As SlidePart = presentationPart.AddNewPart(Of SlidePart)("rId2")
slidePart1.Slide = New Slide(New CommonSlideData(New ShapeTree(New P.NonVisualGroupShapeProperties(New P.NonVisualDrawingProperties() With { _
.Id = CType(1UI, UInt32Value), _
.Name = "" _
}, New P.NonVisualGroupShapeDrawingProperties(), New ApplicationNonVisualDrawingProperties()), New GroupShapeProperties(New TransformGroup()), _
New P.Shape(New P.NonVisualShapeProperties(New P.NonVisualDrawingProperties() With { _
.Id = CType(2UI, UInt32Value), _
.Name = "Title 1" _
}, New P.NonVisualShapeDrawingProperties(New ShapeLocks() With { _
.NoGrouping = True _
}), New ApplicationNonVisualDrawingProperties(New PlaceholderShape())), New P.ShapeProperties(), New P.TextBody(New BodyProperties(), _
New ListStyle(), New Paragraph(New EndParagraphRunProperties() With { _
.Language = "en-US" _
}))))), New ColorMapOverride(New MasterColorMapping()))
Return slidePart1
End Function
若要向形状树并因此向幻灯片中添加其他形状,请通过向 ShapeTree 构造函数传递包含以下代码的其他参数来实例化第二个 Shape 对象。
new P.Shape(
new P.NonVisualShapeProperties(
new P.NonVisualDrawingProperties() { Id = (UInt32Value)2U, Name = "Title 1" },
new P.NonVisualShapeDrawingProperties(new ShapeLocks() { NoGrouping = true }),
new ApplicationNonVisualDrawingProperties(new PlaceholderShape())),
new P.ShapeProperties(),
new P.TextBody(
new BodyProperties(),
new ListStyle(),
new Paragraph(new EndParagraphRunProperties() { Language = "en-US" })))
New P.Shape(New P.NonVisualShapeProperties(New P.NonVisualDrawingProperties() With { _
.Id = CType(2UI, UInt32Value), _
.Name = "Title 1" _
}, New P.NonVisualShapeDrawingProperties(New ShapeLocks() With { _
.NoGrouping = True _
}), New ApplicationNonVisualDrawingProperties(New PlaceholderShape())), New P.ShapeProperties(), New P.TextBody(New BodyProperties(), _
New ListStyle(), New Paragraph(New EndParagraphRunProperties() With { _
.Language = "en-US" })))
当运行方法中的 Open XML SDK 代码时,会将以下 XML 代码写入代码中引用的 PresentationML 文档文件。
&?xml version="1.0" encoding="utf-8" ?&
&p:sld xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"&
&p:spTree&
&p:nvGrpSpPr&
&p:cNvPr id="1" name="" /&
&p:cNvGrpSpPr /&
&p:nvPr /&
&/p:nvGrpSpPr&
&p:grpSpPr&
&a:xfrm xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" /&
&/p:grpSpPr&
&p:nvSpPr&
&p:cNvPr id="2" name="Title 1" /&
&p:cNvSpPr&
&a:spLocks noGrp="1" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" /&
&/p:cNvSpPr&
&/p:nvSpPr&
&p:spPr /&
&p:txBody&
&a:bodyPr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" /&
&a:lstStyle xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" /&
&a:p xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"&
&a:endParaRPr lang="en-US" /&
&/p:txBody&
&/p:spTree&
&p:clrMapOvr&
&a:masterClrMapping xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" /&
&/p:clrMapOvr&
此页面有帮助吗?
更多反馈?
1500 个剩余字符
我们非常感谢您的反馈。
此页面有帮助吗?
您对此内容的反馈非常重要。请告诉我们您的想法。
更多反馈?
1500 个剩余字符
我们非常感谢您的反馈。13421人阅读
一、Office Open XML 概述
&& office open xml是一种新的文件格式,是微软office2007以后的新的文件储存格式,较之以前的二进制储存格式,它有很多优点,1融合zip压缩技术,使得占有更小的存储空间;2即时部分文件损坏也不妨碍其它文件的获取。
二、Office Open XML使用步骤
首先,下载并安装和,.
然后,打开vs201创建项目后,添加两个引用,一个是DocumentFormat.OpenX一个是WindowBase集(它是.netframework
3.0部分)提供package类创建新软件software包,接下来必须在该软件Software包内创建一个或者多个部件,并在这些部件中写入任何所需内容若果只是简单的docx文件则只需对..\word\document.xml统资源标示符(Uri)创建部件,然后将WordprocessingML写入到该部件。
若是需要对openxml文件进行操作,则需要添加对应名空间,比如,word的话是添加DocumentFormat.OpenXml.Wexcel 的话是添加DocumentFormat.OpenXml.Spreadsheet.DocumentFormat.OpenXDocumentFormat.OpenXml.PDocumentFormat.OpenXml.W
三、Open XML格式文档结构
&1、开放数据包约定“/_rels/.rels”
OPC(开放数据包约定),open xml文档实际上就是一个开放的数据包,里面包含各个部件,各个部件与数据包之间,通过显示关系(由uri命名的)进行关联,并且,每一个显示关系有一个id(以允许内容的部件引用该关系)和一个类型(以允许应用程序决定处理该关系的方式
2、WordprocessingML
WordprocessingML 文档由文章集合组成.
每个文章是以下类型之一: 主文档、词汇表文档、子文档、页眉、页脚 、注释 、
框架、文本框 、脚注 、 或尾注 。
唯一需要的文章是主文档。它是数据包关系的目标,其类型为:
http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument
从根目录到 XML 树中叶目录的典型路径包含以下这些 XML 元素
document:主文档的根元素;body:主体;p:段落;r:片;t:文本范围
3、PresentionML
PresentationML 文档由演示文稿部件描述。演示文稿部件是数据包关系的目标,其类型为:http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument
4、SpreadSheetML
SpreadsheetML文档由工作簿部件在顶层描述。工作簿部件是数据包关系的目标,其类型为:http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument
5、支持的标记语言
&DrawingML :用于表示文档中的图形和其他以图形方式呈现的对象。
&VML :矢量图形的格式,包括它是为了保证向后兼容性,它将逐渐被DrawingML 取代。
&共享 ML:数学、元数据、自定义 XML& 和书目 。
四、基本用例
是通过Openxml 进行对word,excel,ppt进行操作
针对word,可以进行批处理,比如根据关键字查找所有指定*docx类型文档,然后可以对文档内容进行操作,隐藏批注,更改样式,插入表格。或者替换文本。
针对excel,可对其进行根据sheet名称得到指定sheet对里面内容进行操作,之后再整合到一个excel中
针对ppt,可对ppt进行重新排序、插入新幻灯片、删除指定幻灯片、将主题应用与幻灯片等。
五、学习心得
通过一周的对office open xml的学习,我获益匪浅。不仅了解到什么是office Open xml,更加学会了如何去使用office open xml sdk,去对office文档进行操作。相信这会给以后的工作带来更大便利。学习是个细致,循序渐进的过程。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:18728次
排名:千里之外
(1)(5)(1)(1)利用open xml sdk解读docx文档的方法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
利用open xml sdk解读docx文档的方法
你可能喜欢}

我要回帖

更多关于 打开ppt 变成演示文稿 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信