Эффективное объединение презентаций на Android
Tip
Возможно, вам будет интересно попробовать Aspose бесплатный онлайн Merger app. Он позволяет пользователям объединять презентации PowerPoint в том же формате (PPT в PPT, PPTX в PPTX и т.д.) и объединять презентации в разных форматах (PPT в PPTX, PPTX в ODP и т.д.).
Объединение презентаций
При объединении одной презентации с другой вы фактически комбинируете их слайды в единой презентации, получая один файл.
Info
Большинство программ для работы с презентациями (PowerPoint или OpenOffice) не имеют функций, позволяющих пользователям объединять презентации таким способом.
Aspose.Slides for Android via Java, однако, предоставляет возможность объединять презентации различными способами. Вы получаете возможность объединять презентации со всеми их фигурами, стилями, текстами, форматированием, комментариями, анимациями и т.д., не беспокоясь о потере качества или данных.
Смотрите также
Что можно объединять
С помощью Aspose.Slides вы можете объединять
- целые презентации. Все слайды из презентаций оказываются в одной презентации
- отдельные слайды. Выбранные слайды оказываются в одной презентации
- презентации в одном формате (PPT в PPT, PPTX в PPTX и т.п.) и в разных форматах (PPT в PPTX, PPTX в ODP и т.п.) друг с другом.
Параметры объединения
Вы можете задать параметры, определяющие, будет ли
- каждый слайд в результирующей презентации сохранять уникальный стиль
- использовать один общий стиль для всех слайдов в результирующей презентации.
Для объединения презентаций Aspose.Slides предоставляет методы AddClone (из интерфейса ISlideCollection). Существует несколько реализаций методов AddClone, которые определяют параметры процесса объединения презентаций. Каждый объект Presentation имеет коллекцию Slides, поэтому вы можете вызвать метод AddClone у презентации, в которую хотите добавить слайды.
Метод AddClone возвращает объект ISlide, являющийся клоном исходного слайда. Слайды в результирующей презентации просто копируются из исходных слайдов. Поэтому вы можете изменять полученные слайды (например, применять стили, параметры форматирования или шаблоны) без риска изменения исходных презентаций.
Объединение презентаций
Aspose.Slides предоставляет метод AddClone(ISlide), который позволяет комбинировать слайды, при этом слайды сохраняют свои макеты и стили (параметры по умолчанию).
Этот Java‑код показывает, как объединять презентации:
Presentation pres1 = new Presentation("pres1.pptx");
try {
Presentation pres2 = new Presentation("pres2.pptx");
try {
for(ISlide slide : pres2.getSlides())
{
pres1.getSlides().addClone(slide);
}
} finally {
if (pres2 != null) pres2.dispose();
}
pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
if (pres1 != null) pres1.dispose();
}
Объединение презентаций с мастером слайдов
Aspose.Slides предоставляет метод AddClone(ISlide, IMasterSlide, boolean), который позволяет комбинировать слайды, применяя шаблон мастера презентации. Таким образом, при необходимости вы можете менять стиль слайдов в результирующей презентации.
Этот Java‑код демонстрирует описанную операцию:
Presentation pres1 = new Presentation("pres1.pptx");
try {
Presentation pres2 = new Presentation("pres2.pptx");
try {
for(ISlide slide : pres2.getSlides())
{
pres1.getSlides().addClone(slide, pres2.getMasters().get_Item(0), true);
}
} finally {
if (pres2 != null) pres2.dispose();
}
pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
if (pres1 != null) pres1.dispose();
}
Note
Макет слайда для мастера определяется автоматически. Когда подходящий макет определить нельзя, если параметрallowCloneMissingLayout метода AddClone установлен в true, используется макет исходного слайда. В противном случае будет выброшено исключение PptxEditException.
Если вам требуется, чтобы слайды в результирующей презентации имели другой макет, используйте метод AddClone(ISlide, ILayoutSlide) при объединении.
Объединение отдельных слайдов из презентаций
Объединение отдельных слайдов из нескольких презентаций удобно для создания пользовательских наборов слайдов. Aspose.Slides for Android via Java позволяет выбирать и импортировать только необходимые слайды. API сохраняет форматирование, макет и дизайн оригинальных слайдов.
Следующий Java‑код создает новую презентацию, добавляет титульные слайды из двух других презентаций и сохраняет результат в файл:
Presentation presentation = new Presentation();
Presentation presentation1 = new Presentation("presentation1.pptx");
Presentation presentation2 = new Presentation("presentation2.pptx");
try {
presentation.getSlides().removeAt(0);
ISlide slide1 = getTitleSlide(presentation1);
if (slide1 != null)
presentation.getSlides().addClone(slide1);
ISlide slide2 = getTitleSlide(presentation2);
if (slide2 != null)
presentation.getSlides().addClone(slide2);
presentation.save("combined.pptx", SaveFormat.Pptx);
} finally {
presentation2.dispose();
presentation1.dispose();
presentation.dispose();
}
static ISlide getTitleSlide(IPresentation presentation) {
for (ISlide slide : presentation.getSlides()) {
if (slide.getLayoutSlide().getLayoutType() == SlideLayoutType.Title) {
return slide;
}
}
return null;
}
Объединение презентаций с макетом слайда
Этот Java‑код показывает, как комбинировать слайды из презентаций, применяя выбранный вами макет слайда, чтобы получить одну результирующую презентацию:
Presentation pres1 = new Presentation("pres1.pptx");
try {
Presentation pres2 = new Presentation("pres2.pptx");
try {
for(ISlide slide : pres2.getSlides())
{
pres1.getSlides().addClone(slide, pres2.getLayoutSlides().get_Item(0));
}
} finally {
if (pres2 != null) pres2.dispose();
}
pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
if (pres1 != null) pres1.dispose();
}
Объединение презентаций с различными размерами слайдов
Note
Объединять презентации с разными размерами слайдов нельзя.Чтобы объединить 2 презентации с различными размерами слайдов, необходимо изменить размер одной из презентаций, чтобы он совпадал с размером другой.
Этот пример кода демонстрирует описанную операцию:
Presentation pres1 = new Presentation("pres1.pptx");
try {
Presentation pres2 = new Presentation("pres2.pptx");
try {
pres2.getSlideSize().setSize((float)pres1.getSlideSize().getSize().getWidth(), (float)pres1.getSlideSize().getSize().getHeight(), SlideSizeScaleType.EnsureFit);
for(ISlide slide : pres2.getSlides())
{
pres1.getSlides().addClone(slide);
}
} finally {
if (pres2 != null) pres2.dispose();
}
pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
if (pres1 != null) pres1.dispose();
}
Объединение слайдов в раздел презентации
Этот Java‑код показывает, как объединить конкретный слайд в раздел презентации:
Presentation pres1 = new Presentation("pres1.pptx");
try {
Presentation pres2 = new Presentation("pres2.pptx");
try {
for(ISlide slide : pres2.getSlides())
{
pres1.getSlides().addClone(slide, pres1.getSections().get_Item(0));
}
} finally {
if (pres2 != null) pres2.dispose();
}
pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
if (pres1 != null) pres1.dispose();
}
Слайд добавляется в конец раздела.
Tip
Aspose предоставляет БЕСПЛАТНОЕ веб‑приложение Collage. С помощью этого онлайн‑сервиса вы можете объединять JPG в JPG или PNG в PNG, создавать фото‑сеточки и многое другое.FAQ
Есть ли ограничения на количество слайдов при объединении презентаций?
Нет строгих ограничений. Aspose.Slides может работать с большими файлами, но производительность зависит от размера файла и ресурсов системы. Для очень крупных презентаций рекомендуется использовать 64‑битную JVM и выделять достаточный объём памяти heap.
Можно ли объединять презентации с встроенным видео или аудио?
Да, Aspose.Slides сохраняет мультимедийный контент, встроенный в слайды, однако конечный файл может значительно увеличиться.
Сохранится ли шрифт при объединении презентаций?
Да. Шрифты, использованные в исходных презентациях, сохраняются в итоговом файле, при условии, что они установлены в системе или встроены.
