如何:通过提供文件名创建演示文稿文档
上次修改时间: 2011年6月29日
适用范围: Excel 2010 | Office 2010 | PowerPoint 2010 | Word 2010
本主题演示如何使用 Open XML SDK 2.0 for Microsoft Office 中的类通过编程方式创建演示文稿文档。
编译本主题中的 C# 代码需要使用以下程序集指令。
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Drawing;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Presentation;
using P = DocumentFormat.OpenXml.Presentation;
using D = DocumentFormat.OpenXml.Drawing;
编译本主题中的 Visual Basic 代码需要使用以下程序集指令。
Imports DocumentFormat.OpenXml
Imports DocumentFormat.OpenXml.Packaging
Imports DocumentFormat.OpenXML.Drawing
Imports DocumentFormat.OpenXml.Presentation
Imports P = DocumentFormat.OpenXml.Presentation
Imports D = DocumentFormat.OpenXml.Drawing
创建演示文稿
和 Open XML 标准定义的所有文件一样,演示文稿文件由包文件容器组成。用户在其文件资源管理器中可看到该文件;该文件的扩展名通常为 .pptx。包文件在 Open XML SDK 2.0 中由 PresentationDocument 类表示。演示文稿文档包含演示文稿部分和其他部分。演示文稿部分在 Open XML SDK 2.0 中由 PresentationPart 类表示,包含幻灯片演示文稿的基本 PresentationML 定义。PresentationML 是用于创建演示文稿的标记语言。每个包只能包含一个演示文稿部分,并且其根元素必须为 <presentation>。
用于创建新演示文稿文档包的 API 调用相对简单。第一步是调用 PresentationDocument 类的静态 Create(String, PresentationDocumentType) 方法,如 CreatePresentation 过程的此处所示,这是完成本文后面所示的代码示例的第一部分。CreatePresentation 代码调用 Create 方法的替代,该方法使用参数作为新文档的路径和要创建的演示文稿文档的类型。该参数中可用的演示文稿文档类型由 PresentationDocumentType 枚举值定义。
然后,代码调用 AddPresentationPart(),从而创建和返回 PresentationPart。创建 PresentationPart 类实例后,会为演示文稿添加新的根元素,方法是将 Presentation 属性设置为等于 Presentation 类的实例,该类是从对 Presentation 类构造函数的调用返回的。
为创建完整、可用和有效的演示文稿,代码还必须向演示文稿包添加许多其他部分。在示例代码中,这是通过调用名为 CreatePresentationsParts 的实用工具函数来处理的。然后该函数调用许多其他实用工具函数,这些函数一起创建基本演示文稿所需的所有演示文稿部分,包括幻灯片、幻灯片版式、幻灯片母版和主题部分。
public static void CreatePresentation(string filepath)
{
// Create a presentation at a specified file path. The presentation document type is pptx, by default.
PresentationDocument presentationDoc = PresentationDocument.Create(filepath, PresentationDocumentType.Presentation);
PresentationPart presentationPart = presentationDoc.AddPresentationPart();
presentationPart.Presentation = new Presentation();
CreatePresentationParts(presentationPart);
// Close the presentation handle
presentationDoc.Close();
}
通过使用 Open XML SDK 2.0,可使用 PresentationML 元素所对应的强类型类来创建演示文稿结构和内容。可以在 DocumentFormat.OpenXml.Presentation 命名空间中找到这些类。下表列出了与演示文稿、幻灯片、幻灯片母版、幻灯片版式和主题元素相对应的类的名称。与主题元素相对应的类实际是 DocumentFormat.OpenXml.Drawing 命名空间的一部分。主题是所有 Open XML 标记语言共用的。
PresentationML 元素 |
Open XML SDK 2.0 类 |
---|---|
<presentation> |
|
<sld> |
|
<sldMaster> |
|
<sldLayout> |
|
<theme> |
接下来的 PresentationML 代码是包含两张幻灯片的简单演示文稿的演示文稿部分(在文件 presentation.xml 中)中的 XML。
<p:presentation xmlns:p="…" … >
<p:sldMasterIdLst>
<p:sldMasterId xmlns:rel="http://…/relationships" rel:id="rId1"/>
</p:sldMasterIdLst>
<p:notesMasterIdLst>
<p:notesMasterId xmlns:rel="http://…/relationships" rel:id="rId4"/>
</p:notesMasterIdLst>
<p:handoutMasterIdLst>
<p:handoutMasterId xmlns:rel="http://…/relationships" rel:id="rId5"/>
</p:handoutMasterIdLst>
<p:sldIdLst>
<p:sldId id="267" xmlns:rel="http://…/relationships" rel:id="rId2"/>
<p:sldId id="256" xmlns:rel="http://…/relationships" rel:id="rId3"/>
</p:sldIdLst>
<p:sldSz cx="9144000" cy="6858000"/>
<p:notesSz cx="6858000" cy="9144000"/>
</p:presentation>
示例代码
下面是给定文件路径时,用于创建演示文稿的完整 C# 代码示例。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Drawing;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Presentation;
using P = DocumentFormat.OpenXml.Presentation;
using D = DocumentFormat.OpenXml.Drawing;
namespace CreatePresentationDocument
{
class Program
{
static void Main(string[] args)
{
string filepath = @"C:\Users\username\Documents\PresentationFromFilename.pptx";
CreatePresentation(filepath);
}
public static void CreatePresentation(string filepath)
{
// Create a presentation at a specified file path. The presentation document type is pptx, by default.
PresentationDocument presentationDoc = PresentationDocument.Create(filepath, PresentationDocumentType.Presentation);
PresentationPart presentationPart = presentationDoc.AddPresentationPart();
presentationPart.Presentation = new Presentation();
CreatePresentationParts(presentationPart);
//Close the presentation handle
presentationDoc.Close();
}
private static void CreatePresentationParts(PresentationPart presentationPart)
{
SlideMasterIdList slideMasterIdList1 = new SlideMasterIdList(new SlideMasterId() { Id = (UInt32Value)2147483648U, RelationshipId = "rId1" });
SlideIdList slideIdList1 = new SlideIdList(new SlideId() { Id = (UInt32Value)256U, RelationshipId = "rId2" });
SlideSize slideSize1 = new SlideSize() { Cx = 9144000, Cy = 6858000, Type = SlideSizeValues.Screen4x3 };
NotesSize notesSize1 = new NotesSize() { Cx = 6858000, Cy = 9144000 };
DefaultTextStyle defaultTextStyle1 = new DefaultTextStyle();
presentationPart.Presentation.Append(slideMasterIdList1, slideIdList1, slideSize1, notesSize1, defaultTextStyle1);
SlidePart slidePart1;
SlideLayoutPart slideLayoutPart1;
SlideMasterPart slideMasterPart1;
ThemePart themePart1;
slidePart1 = CreateSlidePart(presentationPart);
slideLayoutPart1 = CreateSlideLayoutPart(slidePart1);
slideMasterPart1 = CreateSlideMasterPart(slideLayoutPart1);
themePart1 = CreateTheme(slideMasterPart1);
slideMasterPart1.AddPart(slideLayoutPart1, "rId1");
presentationPart.AddPart(slideMasterPart1, "rId1");
presentationPart.AddPart(themePart1, "rId5");
}
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 static SlideLayoutPart CreateSlideLayoutPart(SlidePart slidePart1)
{
SlideLayoutPart slideLayoutPart1 = slidePart1.AddNewPart<SlideLayoutPart>("rId1");
SlideLayout slideLayout = new SlideLayout(
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 = "" },
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()))))),
new ColorMapOverride(new MasterColorMapping()));
slideLayoutPart1.SlideLayout = slideLayout;
return slideLayoutPart1;
}
private static SlideMasterPart CreateSlideMasterPart(SlideLayoutPart slideLayoutPart1)
{
SlideMasterPart slideMasterPart1 = slideLayoutPart1.AddNewPart<SlideMasterPart>("rId1");
SlideMaster slideMaster = new SlideMaster(
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 Placeholder 1" },
new P.NonVisualShapeDrawingProperties(new ShapeLocks() { NoGrouping = true }),
new ApplicationNonVisualDrawingProperties(new PlaceholderShape() { Type = PlaceholderValues.Title })),
new P.ShapeProperties(),
new P.TextBody(
new BodyProperties(),
new ListStyle(),
new Paragraph())))),
new P.ColorMap() { Background1 = D.ColorSchemeIndexValues.Light1, Text1 = D.ColorSchemeIndexValues.Dark1, Background2 = D.ColorSchemeIndexValues.Light2, Text2 = D.ColorSchemeIndexValues.Dark2, Accent1 = D.ColorSchemeIndexValues.Accent1, Accent2 = D.ColorSchemeIndexValues.Accent2, Accent3 = D.ColorSchemeIndexValues.Accent3, Accent4 = D.ColorSchemeIndexValues.Accent4, Accent5 = D.ColorSchemeIndexValues.Accent5, Accent6 = D.ColorSchemeIndexValues.Accent6, Hyperlink = D.ColorSchemeIndexValues.Hyperlink, FollowedHyperlink = D.ColorSchemeIndexValues.FollowedHyperlink },
new SlideLayoutIdList(new SlideLayoutId() { Id = (UInt32Value)2147483649U, RelationshipId = "rId1" }),
new TextStyles(new TitleStyle(), new BodyStyle(), new OtherStyle()));
slideMasterPart1.SlideMaster = slideMaster;
return slideMasterPart1;
}
private static ThemePart CreateTheme(SlideMasterPart slideMasterPart1)
{
ThemePart themePart1 = slideMasterPart1.AddNewPart<ThemePart>("rId5");
D.Theme theme1 = new D.Theme() { Name = "Office Theme" };
D.ThemeElements themeElements1 = new D.ThemeElements(
new D.ColorScheme(
new D.Dark1Color(new D.SystemColor() { Val = D.SystemColorValues.WindowText, LastColor = "000000" }),
new D.Light1Color(new D.SystemColor() { Val = D.SystemColorValues.Window, LastColor = "FFFFFF" }),
new D.Dark2Color(new D.RgbColorModelHex() { Val = "1F497D" }),
new D.Light2Color(new D.RgbColorModelHex() { Val = "EEECE1" }),
new D.Accent1Color(new D.RgbColorModelHex() { Val = "4F81BD" }),
new D.Accent2Color(new D.RgbColorModelHex() { Val = "C0504D" }),
new D.Accent3Color(new D.RgbColorModelHex() { Val = "9BBB59" }),
new D.Accent4Color(new D.RgbColorModelHex() { Val = "8064A2" }),
new D.Accent5Color(new D.RgbColorModelHex() { Val = "4BACC6" }),
new D.Accent6Color(new D.RgbColorModelHex() { Val = "F79646" }),
new D.Hyperlink(new D.RgbColorModelHex() { Val = "0000FF" }),
new D.FollowedHyperlinkColor(new D.RgbColorModelHex() { Val = "800080" })) { Name = "Office" },
new D.FontScheme(
new D.MajorFont(
new D.LatinFont() { Typeface = "Calibri" },
new D.EastAsianFont() { Typeface = "" },
new D.ComplexScriptFont() { Typeface = "" }),
new D.MinorFont(
new D.LatinFont() { Typeface = "Calibri" },
new D.EastAsianFont() { Typeface = "" },
new D.ComplexScriptFont() { Typeface = "" })) { Name = "Office" },
new D.FormatScheme(
new D.FillStyleList(
new D.SolidFill(new D.SchemeColor() { Val = D.SchemeColorValues.PhColor }),
new D.GradientFill(
new D.GradientStopList(
new D.GradientStop(new D.SchemeColor(new D.Tint() { Val = 50000 },
new D.SaturationModulation() { Val = 300000 }) { Val = D.SchemeColorValues.PhColor }) { Position = 0 },
new D.GradientStop(new D.SchemeColor(new D.Tint() { Val = 37000 },
new D.SaturationModulation() { Val = 300000 }) { Val = D.SchemeColorValues.PhColor }) { Position = 35000 },
new D.GradientStop(new D.SchemeColor(new D.Tint() { Val = 15000 },
new D.SaturationModulation() { Val = 350000 }) { Val = D.SchemeColorValues.PhColor }) { Position = 100000 }
),
new D.LinearGradientFill() { Angle = 16200000, Scaled = true }),
new D.NoFill(),
new D.PatternFill(),
new D.GroupFill()),
new D.LineStyleList(
new D.Outline(
new D.SolidFill(
new D.SchemeColor(
new D.Shade() { Val = 95000 },
new D.SaturationModulation() { Val = 105000 }) { Val = D.SchemeColorValues.PhColor }),
new D.PresetDash() { Val = D.PresetLineDashValues.Solid })
{
Width = 9525,
CapType = D.LineCapValues.Flat,
CompoundLineType = D.CompoundLineValues.Single,
Alignment = D.PenAlignmentValues.Center
},
new D.Outline(
new D.SolidFill(
new D.SchemeColor(
new D.Shade() { Val = 95000 },
new D.SaturationModulation() { Val = 105000 }) { Val = D.SchemeColorValues.PhColor }),
new D.PresetDash() { Val = D.PresetLineDashValues.Solid })
{
Width = 9525,
CapType = D.LineCapValues.Flat,
CompoundLineType = D.CompoundLineValues.Single,
Alignment = D.PenAlignmentValues.Center
},
new D.Outline(
new D.SolidFill(
new D.SchemeColor(
new D.Shade() { Val = 95000 },
new D.SaturationModulation() { Val = 105000 }) { Val = D.SchemeColorValues.PhColor }),
new D.PresetDash() { Val = D.PresetLineDashValues.Solid })
{
Width = 9525,
CapType = D.LineCapValues.Flat,
CompoundLineType = D.CompoundLineValues.Single,
Alignment = D.PenAlignmentValues.Center
}),
new D.EffectStyleList(
new D.EffectStyle(
new D.EffectList(
new D.OuterShadow(
new D.RgbColorModelHex(
new D.Alpha() { Val = 38000 }) { Val = "000000" }) { BlurRadius = 40000L, Distance = 20000L, Direction = 5400000, RotateWithShape = false })),
new D.EffectStyle(
new D.EffectList(
new D.OuterShadow(
new D.RgbColorModelHex(
new D.Alpha() { Val = 38000 }) { Val = "000000" }) { BlurRadius = 40000L, Distance = 20000L, Direction = 5400000, RotateWithShape = false })),
new D.EffectStyle(
new D.EffectList(
new D.OuterShadow(
new D.RgbColorModelHex(
new D.Alpha() { Val = 38000 }) { Val = "000000" }) { BlurRadius = 40000L, Distance = 20000L, Direction = 5400000, RotateWithShape = false }))),
new D.BackgroundFillStyleList(
new D.SolidFill(new D.SchemeColor() { Val = D.SchemeColorValues.PhColor }),
new D.GradientFill(
new D.GradientStopList(
new D.GradientStop(
new D.SchemeColor(new D.Tint() { Val = 50000 },
new D.SaturationModulation() { Val = 300000 }) { Val = D.SchemeColorValues.PhColor }) { Position = 0 },
new D.GradientStop(
new D.SchemeColor(new D.Tint() { Val = 50000 },
new D.SaturationModulation() { Val = 300000 }) { Val = D.SchemeColorValues.PhColor }) { Position = 0 },
new D.GradientStop(
new D.SchemeColor(new D.Tint() { Val = 50000 },
new D.SaturationModulation() { Val = 300000 }) { Val = D.SchemeColorValues.PhColor }) { Position = 0 }),
new D.LinearGradientFill() { Angle = 16200000, Scaled = true }),
new D.GradientFill(
new D.GradientStopList(
new D.GradientStop(
new D.SchemeColor(new D.Tint() { Val = 50000 },
new D.SaturationModulation() { Val = 300000 }) { Val = D.SchemeColorValues.PhColor }) { Position = 0 },
new D.GradientStop(
new D.SchemeColor(new D.Tint() { Val = 50000 },
new D.SaturationModulation() { Val = 300000 }) { Val = D.SchemeColorValues.PhColor }) { Position = 0 }),
new D.LinearGradientFill() { Angle = 16200000, Scaled = true }))) { Name = "Office" });
theme1.Append(themeElements1);
theme1.Append(new D.ObjectDefaults());
theme1.Append(new D.ExtraColorSchemeList());
themePart1.Theme = theme1;
return themePart1;
}
}
}
下面是给定文件路径时,用于创建演示文稿的完整 VB.Net 代码示例。
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports DocumentFormat.OpenXml
Imports DocumentFormat.OpenXml.Drawing
Imports DocumentFormat.OpenXml.Packaging
Imports DocumentFormat.OpenXml.Presentation
Imports P = DocumentFormat.OpenXml.Presentation
Imports D = DocumentFormat.OpenXml.Drawing
Namespace CreatePresentationDocument
Class Program
Public Shared Sub Main(ByVal args As String())
Dim filepath As String = "C:\Users\username\Documents\PresentationFromFilename.pptx"
CreatePresentation(filepath)
End Sub
Public Shared Sub CreatePresentation(ByVal filepath As String)
' Create a presentation at a specified file path. The presentation document type is pptx, by default.
Dim presentationDoc As PresentationDocument = PresentationDocument.Create(filepath, PresentationDocumentType.Presentation)
Dim presentationPart As PresentationPart = presentationDoc.AddPresentationPart()
presentationPart.Presentation = New Presentation()
CreatePresentationParts(presentationPart)
'Close the presentation handle
presentationDoc.Close()
End Sub
Private Shared Sub CreatePresentationParts(ByVal presentationPart As PresentationPart)
Dim slideMasterIdList1 As New SlideMasterIdList(New SlideMasterId() With { _
.Id = CType(2147483648UI, UInt32Value), _
.RelationshipId = "rId1" _
})
Dim slideIdList1 As New SlideIdList(New SlideId() With { _
.Id = CType(256UI, UInt32Value), .RelationshipId = "rId2" _
})
Dim slideSize1 As New SlideSize() With { _
.Cx = 9144000, _
.Cy = 6858000, _
.Type = SlideSizeValues.Screen4x3 _
}
Dim notesSize1 As New NotesSize() With { _
.Cx = 6858000, _
.Cy = 9144000 _
}
Dim defaultTextStyle1 As New DefaultTextStyle()
Dim slidePart1 As SlidePart
Dim slideLayoutPart1 As SlideLayoutPart
Dim slideMasterPart1 As SlideMasterPart
Dim themePart1 As ThemePart
presentationPart.Presentation.Append(slideMasterIdList1, slideIdList1, slideSize1, notesSize1, defaultTextStyle1)
slidePart1 = CreateSlidePart(presentationPart)
slideLayoutPart1 = CreateSlideLayoutPart(slidePart1)
slideMasterPart1 = CreateSlideMasterPart(slideLayoutPart1)
themePart1 = CreateTheme(slideMasterPart1)
slideMasterPart1.AddPart(slideLayoutPart1, "rId1")
presentationPart.AddPart(slideMasterPart1, "rId1")
presentationPart.AddPart(themePart1, "rId5")
End Sub
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
Private Shared Function CreateSlideLayoutPart(ByVal slidePart1 As SlidePart) As SlideLayoutPart
Dim slideLayoutPart1 As SlideLayoutPart = slidePart1.AddNewPart(Of SlideLayoutPart)("rId1")
Dim slideLayout As New SlideLayout(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 = "" _
}, 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()))))), New ColorMapOverride(New MasterColorMapping()))
slideLayoutPart1.SlideLayout = slideLayout
Return slideLayoutPart1
End Function
Private Shared Function CreateSlideMasterPart(ByVal slideLayoutPart1 As SlideLayoutPart) As SlideMasterPart
Dim slideMasterPart1 As SlideMasterPart = slideLayoutPart1.AddNewPart(Of SlideMasterPart)("rId1")
Dim slideMaster As New SlideMaster(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 Placeholder 1" _
}, New P.NonVisualShapeDrawingProperties(New ShapeLocks() With { _
.NoGrouping = True _
}), New ApplicationNonVisualDrawingProperties(New PlaceholderShape() With { _
.Type = PlaceholderValues.Title _
})), New P.ShapeProperties(), New P.TextBody(New BodyProperties(), New ListStyle(), New Paragraph())))), New P.ColorMap() With { _
.Background1 = D.ColorSchemeIndexValues.Light1, _
.Text1 = D.ColorSchemeIndexValues.Dark1, _
.Background2 = D.ColorSchemeIndexValues.Light2, _
.Text2 = D.ColorSchemeIndexValues.Dark2, _
.Accent1 = D.ColorSchemeIndexValues.Accent1, _
.Accent2 = D.ColorSchemeIndexValues.Accent2, _
.Accent3 = D.ColorSchemeIndexValues.Accent3, _
.Accent4 = D.ColorSchemeIndexValues.Accent4, _
.Accent5 = D.ColorSchemeIndexValues.Accent5, _
.Accent6 = D.ColorSchemeIndexValues.Accent6, _
.Hyperlink = D.ColorSchemeIndexValues.Hyperlink, _
.FollowedHyperlink = D.ColorSchemeIndexValues.FollowedHyperlink _
}, New SlideLayoutIdList(New SlideLayoutId() With { _
.Id = CType(2147483649UI, UInt32Value), _
.RelationshipId = "rId1" _
}), New TextStyles(New TitleStyle(), New BodyStyle(), New OtherStyle()))
slideMasterPart1.SlideMaster = slideMaster
Return slideMasterPart1
End Function
Private Shared Function CreateTheme(ByVal slideMasterPart1 As SlideMasterPart) As ThemePart
Dim themePart1 As ThemePart = slideMasterPart1.AddNewPart(Of ThemePart)("rId5")
Dim theme1 As New D.Theme() With { _
.Name = "Office Theme" _
}
Dim themeElements1 As New D.ThemeElements(New D.ColorScheme(New D.Dark1Color(New D.SystemColor() With { _
.Val = D.SystemColorValues.WindowText, _
.LastColor = "000000" _
}), New D.Light1Color(New D.SystemColor() With { _
.Val = D.SystemColorValues.Window, _
.LastColor = "FFFFFF" _
}), New D.Dark2Color(New D.RgbColorModelHex() With { _
.Val = "1F497D" _
}), New D.Light2Color(New D.RgbColorModelHex() With { _
.Val = "EEECE1" _
}), New D.Accent1Color(New D.RgbColorModelHex() With { _
.Val = "4F81BD" _
}), New D.Accent2Color(New D.RgbColorModelHex() With { _
.Val = "C0504D" _
}), _
New D.Accent3Color(New D.RgbColorModelHex() With { _
.Val = "9BBB59" _
}), New D.Accent4Color(New D.RgbColorModelHex() With { _
.Val = "8064A2" _
}), New D.Accent5Color(New D.RgbColorModelHex() With { _
.Val = "4BACC6" _
}), New D.Accent6Color(New D.RgbColorModelHex() With { _
.Val = "F79646" _
}), New D.Hyperlink(New D.RgbColorModelHex() With { _
.Val = "0000FF" _
}), New D.FollowedHyperlinkColor(New D.RgbColorModelHex() With { _
.Val = "800080" _
})) With { _
.Name = "Office" _
}, New D.FontScheme(New D.MajorFont(New D.LatinFont() With { _
.Typeface = "Calibri" _
}, New D.EastAsianFont() With { _
.Typeface = "" _
}, New D.ComplexScriptFont() With { _
.Typeface = "" _
}), New D.MinorFont(New D.LatinFont() With { _
.Typeface = "Calibri" _
}, New D.EastAsianFont() With { _
.Typeface = "" _
}, New D.ComplexScriptFont() With { _
.Typeface = "" _
})) With { _
.Name = "Office" _
}, New D.FormatScheme(New D.FillStyleList(New D.SolidFill(New D.SchemeColor() With { _
.Val = D.SchemeColorValues.PhColor _
}), New D.GradientFill(New D.GradientStopList(New D.GradientStop(New D.SchemeColor(New D.Tint() With { _
.Val = 50000 _
}, New D.SaturationModulation() With { _
.Val = 300000 _
}) With { _
.Val = D.SchemeColorValues.PhColor _
}) With { _
.Position = 0 _
}, New D.GradientStop(New D.SchemeColor(New D.Tint() With { _
.Val = 37000 _
}, New D.SaturationModulation() With { _
.Val = 300000 _
}) With { _
.Val = D.SchemeColorValues.PhColor _
}) With { _
.Position = 35000 _
}, New D.GradientStop(New D.SchemeColor(New D.Tint() With { _
.Val = 15000 _
}, New D.SaturationModulation() With { _
.Val = 350000 _
}) With { _
.Val = D.SchemeColorValues.PhColor _
}) With { _
.Position = 100000 _
}), New D.LinearGradientFill() With { _
.Angle = 16200000, _
.Scaled = True _
}), New D.NoFill(), New D.PatternFill(), New D.GroupFill()), New D.LineStyleList(New D.Outline(New D.SolidFill(New D.SchemeColor(New D.Shade() With { _
.Val = 95000 _
}, New D.SaturationModulation() With { _
.Val = 105000 _
}) With { _
.Val = D.SchemeColorValues.PhColor _
}), New D.PresetDash() With { _
.Val = D.PresetLineDashValues.Solid _
}) With { _
.Width = 9525, _
.CapType = D.LineCapValues.Flat, _
.CompoundLineType = D.CompoundLineValues.[Single], _
.Alignment = D.PenAlignmentValues.Center _
}, New D.Outline(New D.SolidFill(New D.SchemeColor(New D.Shade() With { _
.Val = 95000 _
}, New D.SaturationModulation() With { _
.Val = 105000 _
}) With { _
.Val = D.SchemeColorValues.PhColor _
}), New D.PresetDash() With { _
.Val = D.PresetLineDashValues.Solid _
}) With { _
.Width = 9525, _
.CapType = D.LineCapValues.Flat, _
.CompoundLineType = D.CompoundLineValues.[Single], _
.Alignment = D.PenAlignmentValues.Center _
}, New D.Outline(New D.SolidFill(New D.SchemeColor(New D.Shade() With { _
.Val = 95000 _
}, New D.SaturationModulation() With { _
.Val = 105000 _
}) With { _
.Val = D.SchemeColorValues.PhColor _
}), New D.PresetDash() With { _
.Val = D.PresetLineDashValues.Solid _
}) With { _
.Width = 9525, _
.CapType = D.LineCapValues.Flat, _
.CompoundLineType = D.CompoundLineValues.[Single], _
.Alignment = D.PenAlignmentValues.Center _
}), New D.EffectStyleList(New D.EffectStyle(New D.EffectList(New D.OuterShadow(New D.RgbColorModelHex(New D.Alpha() With { _
.Val = 38000 _
}) With { _
.Val = "000000" _
}) With { _
.BlurRadius = 40000L, _
.Distance = 20000L, _
.Direction = 5400000, _
.RotateWithShape = False _
})), New D.EffectStyle(New D.EffectList(New D.OuterShadow(New D.RgbColorModelHex(New D.Alpha() With { _
.Val = 38000 _
}) With { _
.Val = "000000" _
}) With { _
.BlurRadius = 40000L, _
.Distance = 20000L, _
.Direction = 5400000, _
.RotateWithShape = False _
})), New D.EffectStyle(New D.EffectList(New D.OuterShadow(New D.RgbColorModelHex(New D.Alpha() With { _
.Val = 38000 _
}) With { _
.Val = "000000" _
}) With { _
.BlurRadius = 40000L, _
.Distance = 20000L, _
.Direction = 5400000, _
.RotateWithShape = False _
}))), New D.BackgroundFillStyleList(New D.SolidFill(New D.SchemeColor() With { _
.Val = D.SchemeColorValues.PhColor _
}), New D.GradientFill(New D.GradientStopList(New D.GradientStop(New D.SchemeColor(New D.Tint() With { _
.Val = 50000 _
}, New D.SaturationModulation() With { _
.Val = 300000 _
}) With { _
.Val = D.SchemeColorValues.PhColor _
}) With { _
.Position = 0 _
}, New D.GradientStop(New D.SchemeColor(New D.Tint() With { _
.Val = 50000 _
}, New D.SaturationModulation() With { _
.Val = 300000 _
}) With { _
.Val = D.SchemeColorValues.PhColor _
}) With { _
.Position = 0 _
}, New D.GradientStop(New D.SchemeColor(New D.Tint() With { _
.Val = 50000 _
}, New D.SaturationModulation() With { _
.Val = 300000 _
}) With { _
.Val = D.SchemeColorValues.PhColor _
}) With { _
.Position = 0 _
}), New D.LinearGradientFill() With { _
.Angle = 16200000, _
.Scaled = True _
}), New D.GradientFill(New D.GradientStopList(New D.GradientStop(New D.SchemeColor(New D.Tint() With { _
.Val = 50000 _
}, New D.SaturationModulation() With { _
.Val = 300000 _
}) With { _
.Val = D.SchemeColorValues.PhColor _
}) With { _
.Position = 0 _
}, New D.GradientStop(New D.SchemeColor(New D.Tint() With { _
.Val = 50000 _
}, New D.SaturationModulation() With { _
.Val = 300000 _
}) With { _
.Val = D.SchemeColorValues.PhColor _
}) With { _
.Position = 0 _
}), New D.LinearGradientFill() With { _
.Angle = 16200000, _
.Scaled = True _
}))) With { _
.Name = "Office" _
})
theme1.Append(themeElements1)
theme1.Append(New D.ObjectDefaults())
theme1.Append(New D.ExtraColorSchemeList())
themePart1.Theme = theme1
Return themePart1
End Function
End Class
End Namespace