Слияние презентаций PowerPoint PPT, PPTX с помощью C#
Совет
Вам стоит обратить внимание на бесплатное онлайн приложение Merger от Aspose. Оно позволяет пользователям объединять презентации PowerPoint в одном формате (PPT в PPT, PPTX в PPTX и т.д.) и сливать презентации в разных форматах (PPT в PPTX, PPTX в ODP и т.д.).
Слияние Презентации
Когда вы сливаете одну презентацию с другой, вы фактически объединяете их слайды в одной презентации, чтобы получить один файл.
Информация
Большинство программ для работы с презентациями (PowerPoint или OpenOffice) не имеют функций, которые позволяют пользователям комбинировать презентации таким образом.
Тем не менее, Aspose.Slides для .NET позволяет вам сливать презентации несколькими способами. Вы можете объединять презентации со всеми их формами, стилями, текстами, форматированием, комментариями, анимациями и т.д. без необходимости беспокоиться о потере качества или данных.
Смотрите также
Что можно объединить
С помощью Aspose.Slides вы можете объединить
- целые презентации. Все слайды из презентаций оказываются в одной презентации
- конкретные слайды. Выбранные слайды оказываются в одной презентации
- презентации в одном формате (PPT в PPT, PPTX в PPTX и т.д.) и в разных форматах (PPT в PPTX, PPTX в ODP и т.д.) друг с другом.
Заметка
Помимо презентаций, Aspose.Slides позволяет вам объединять другие файлы:
- Изображения, такие как JPG в JPG или PNG в PNG
- Документы, такие как PDF в PDF или HTML в HTML
- И два разных файла, такие как изображение в PDF или JPG в PDF или TIFF в PDF.
Варианты Слияния
Вы можете применить опции, которые определяют, будет ли
- каждый слайд в выходной презентации сохранять уникальный стиль
- используемый специальный стиль для всех слайдов в выходной презентации.
Для слияния презентаций Aspose.Slides предлагает методы AddClone (из интерфейса ISlideCollection). Существуют несколько реализаций методов AddClone
, которые определяют параметры процесса слияния презентаций. У каждого объекта Presentation есть коллекция Slides, поэтому вы можете вызывать метод AddClone
из презентации, в которую хотите объединить слайды.
Метод AddClone
возвращает объект ISlide
, который является клоном исходного слайда. Слайды в выходной презентации - это просто копия слайдов из источника. Поэтому вы можете вносить изменения в результирующие слайды (например, применять стили или параметры форматирования или макеты) без беспокойства о том, что исходные презентации потерпят влияние.
Слияние Презентаций
Aspose.Slides предоставляет метод AddClone (ISlide), который позволяет вам объединять слайды, сохраняя при этом их макеты и стили (параметры по умолчанию).
Этот код на C# показывает, как объединять презентации:
using (Presentation pres1 = new Presentation("pres1.pptx"),
pres2 = new Presentation("pres2.pptx"))
{
foreach (ISlide slide in pres2.Slides)
{
pres1.Slides.AddClone(slide);
}
pres1.Save("combined.pptx", SaveFormat.Pptx);
}
Слияние Презентаций с Мастером Слайда
Aspose.Slides предоставляет метод AddClone (ISlide, IMasterSlide, Boolean), который позволяет вам объединять слайды, применяя шаблон презентации мастера слайда. Таким образом, если необходимо, вы сможете изменить стиль для слайдов в выходной презентации.
Этот код на C# демонстрирует описанную операцию:
using (Presentation pres1 = new Presentation("pres1.pptx"),
pres2 = new Presentation("pres2.pptx"))
{
foreach (ISlide slide in pres2.Slides)
{
pres1.Slides.AddClone(slide, pres2.Masters[0], allowCloneMissingLayout: true);
}
pres1.Save("combined.pptx", SaveFormat.Pptx);
}
Заметка
Макет слайда для мастера слайда определяется автоматически. Когда подходящий макет не может быть определен, если булевский параметрallowCloneMissingLayout
метода AddClone
установлен в true, используется макет для исходного слайда. В противном случае будет выброшено исключение PptxEditException.
Если вы хотите, чтобы слайды в выходной презентации имели другой макет слайда, используйте метод AddClone (ISlide, ILayoutSlide) вместо при слиянии.
Слияние Конкретных Слайдов из Презентаций
Этот код на C# показывает, как выбрать и объединить конкретные слайды из разных презентаций, чтобы получить одну выходную презентацию:
using (Presentation pres1 = new Presentation("pres1.pptx"),
pres2 = new Presentation("pres2.pptx"))
{
foreach (ISlide slide in pres2.Slides)
{
pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]);
}
pres1.Save("combined.pptx", SaveFormat.Pptx);
}
Слияние Презентаций с Макетом Слайда
Этот код на C# показывает, как объединить слайды из презентаций, применяя ваш предпочтительный макет слайда к ним, чтобы получить одну выходную презентацию:
using (Presentation pres1 = new Presentation("pres1.pptx"),
pres2 = new Presentation("pres2.pptx"))
{
foreach (ISlide slide in pres2.Slides)
{
pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]);
}
pres1.Save("combined.pptx", SaveFormat.Pptx);
}
Слияние Презентаций с Разными Размероми Слайдов
Заметка
Вы не можете объединить презентации с разными размерами слайдов.Чтобы объединить 2 презентации с разными размерами слайдов, вам нужно изменить размер одной из презентаций, чтобы его размер соответствовал размеру другой презентации.
Этот пример кода демонстрирует описанную операцию:
using (Presentation pres1 = new Presentation("pres1.pptx"),
pres2 = new Presentation("pres2.pptx"))
{
pres2.SlideSize.SetSize(pres1.SlideSize.Size.Width, pres1.SlideSize.Size.Height, SlideSizeScaleType.EnsureFit);
foreach (ISlide slide in pres2.Slides)
{
pres1.Slides.AddClone(slide);
}
pres1.Save("combined.pptx", SaveFormat.Pptx);
}
Слияние Слайдов в Раздел Презентации
Этот код на C# показывает, как слить конкретный слайд в раздел презентации:
using (Presentation pres1 = new Presentation("pres1.pptx"),
pres2 = new Presentation("pres2.pptx"))
{
for (var index = 0; index < pres2.Slides.Count; index++)
{
ISlide slide = pres2.Slides[index];
pres1.Slides.AddClone(slide, pres1.Sections[0]);
}
pres1.Save("combined.pptx", SaveFormat.Pptx);
}
Слайд добавляется в конец раздела.