テンプレートからPowerPoint 2007プレゼンテーションを作成します
-
22-08-2019 - |
質問
テンプレートからPowerPoint 2007プレゼンテーションを作成する必要があります XMLフォーマットSDK 2.0を開きます. 。テンプレートは顧客が提供する必要があり、個々のレイアウトスタイル(フォント、背景色、または画像など)に使用されます。 2つの事前定義されたスライドを含める必要があります。
- テキストスライド
- 画像スライド
アプリケーションは、テンプレートファイルのコピーを作成し、テキストスライドと画像スライドの複数のコピーを作成し、コンテンツプレイスホルダーをいくつかのコンテンツに置き換える必要があります。
私はすでにいくつか見つけました Microsoftのコードスニペット スライドのタイトルを編集するには、それらを削除するか、スライド上の画像を置き換えます。しかし、既存のスライドのコピーをどのように作成できるかわかりませんでした。多分誰かがこれで私を助けることができます。
解決
私は同様の答えを探していて、共有するリソースを見つけました。
http://msdn.microsoft.com/en-us/library/cc850834(office.14).aspx
またはそれ以上のサンプル
http://msdn.microsoft.com/en-us/library/cc850828(office.14).aspx
またはこのウェブサイト
http://www.openxmldeveloper.com
これもあります OpenXML標準を記録した無料の本 それはやや役に立ちました。
他のヒント
これは私があなたが探しているものの例ですが、そうでない場合は私に知らせてください: http://openxmldeveloper.org/articles/7429.aspx
C#の場合
File.Copy(SourceFile,ExportedFile);
基本的に元のファイルを保持します。
これで、ExportedFileを開きます
PowerPoint.Application ppApp = new PowerPoint.Application();
PowerPoint.Presentation presentation;
presentation = ppApp.Presentations.Open(ExportedFile, MsoTriState.msoFalse, MsoTriState.msoTrue, MsoTriState.msoTrue);
これで、すべてのスライド/形状を反復します
foreach (PowerPoint.Slide slide in presentation.Slides)
{
slide.Select();
foreach (PowerPoint.Shape shape in slide.Shapes)
{
if (shape.Type.ToString().Equals("<any type of shape>"))
{
if (shape.TextFrame.TextRange.Text.Equals("<contains a name"))
{
shape.TextFrame.TextRange.Text = <new value>;
shape.Delete(); // or delete
shape.AddPicture(<your new picture>, MsoTriState.msoTrue, MsoTriState.msoTrue, left, top, width, height);
}
}
}
}
これがあなたの要求を明確にすることを願っています。