Вопрос

Мне нужно создать презентацию PowerPoint 2007 из шаблона с Откройте формат XML SDK 2.0. Анкет Шаблон должен быть предоставлен клиентом и используется для отдельного стиля макета (шрифт, цвет фона или изображение, ...). Он должен содержать два предопределенных слайда:

  • Текстовый слайд
  • Слайд изображения

Приложение теперь должно создать копию файла шаблона, создать несколько копий слайдов текста и изображений и заменить содержимого держателями на некоторое содержание.

Я уже нашел немного Кодовые фрагменты от 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);

                            }
                        }
                    }

}

Надеюсь, это может прояснить ваш запрос.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top