合并演示文稿
提示
您可能想查看 Aspose免费在线 合并应用。它允许人们以相同格式合并PowerPoint演示文稿(PPT到PPT,PPTX到PPTX等),并以不同格式合并演示文稿(PPT到PPTX,PPTX到ODP等)。
演示文稿合并
当您将一个演示文稿合并到另一个演示文稿时,实际上是将它们的幻灯片合并到一个演示文稿中,从而获得一个文件。
信息
大多数演示程序(PowerPoint或OpenOffice)没有允许用户以这种方式组合演示文稿的功能。
然而,Aspose.Slides for Android via Java允许您以不同的方式合并演示文稿。您可以合并包含所有形状、样式、文本、格式、评论、动画等的演示文稿,而不必担心质量或数据的损失。
另请参见
可以合并的内容
使用Aspose.Slides,您可以合并
- 整个演示文稿。所有幻灯片将来自演示文稿合并到一个演示文稿中
- 特定幻灯片。选定的幻灯片将合并到一个演示文稿中
- 以一种格式(PPT到PPT,PPTX到PPTX等)和以不同格式(PPT到PPTX,PPTX到ODP等)合并演示文稿。
注意
除了演示文稿,Aspose.Slides还允许您合并其他文件:
合并选项
您可以应用选项,以确定
- 输出演示文稿中的每个幻灯片是否保留独特的样式
- 是否对输出演示文稿中的所有幻灯片使用特定样式。
要合并演示文稿,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();
}
注意
幻灯片母版的幻灯片布局是自动确定的。当无法确定合适的布局时,如果AddClone
方法的allowCloneMissingLayout
布尔参数设置为true,则使用源幻灯片的布局。否则,将抛出PptxEditException。
如果您希望输出演示文稿中的幻灯片具有不同的幻灯片布局,请在合并时使用 AddClone(ISlide, ILayoutSlide) 方法。
从演示文稿合并特定幻灯片
以下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();
}
带幻灯片布局合并演示文稿
以下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();
}
合并不同幻灯片尺寸的演示文稿
注意
您不能合并不同幻灯片尺寸的演示文稿。要合并两份不同幻灯片尺寸的演示文稿,您必须调整其中一份演示文稿的尺寸,以匹配另一份演示文稿的尺寸。
以下示例代码演示了上述操作:
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();
}
幻灯片被添加到该部分的末尾。