We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Internal links are broken in a cloned presentation

Hello,

The user created a little navigation menu on top of each page of the
presentation (something like a web site navigation) where he can quickly
jump between pages.

In the original presentation it works just fine.

When the presentation is cloned by Aspose this functionality is lost.

Both presentations and PowerPoint error message are attached.

Please take a look and advise the solution.

Thanks,

Hi Citbor,


I have observed the presentation files shared. Can you please first try using Aspose.Slides for Java 7.3.0 on your end. If there is still an issue then please share the sample code that you have used on your end to reproduce the issue specified.

Many Thanks,

Mudassir,

It is the same issue with 7.3.0 version.

This is our code to combine presentations:

public static Presentation assemblePresentation(java.util.List sourceFiles) {
final Presentation merged = new Presentation();

for (int ii = sourceFiles.size() - 1; ii >= 0; --ii) {
final String sourceFile = sourceFiles.get(ii);
appendSlides(merged, new Presentation(sourceFile));
}
if (merged.getSlides().getLastSlidePosition() > 1) {
final Slide empty = merged.getSlideByPosition(merged.getSlides().getLastSlidePosition());
merged.getSlides().remove(empty);
}
return merged;
}
protected static void appendSlides(Presentation dst, Presentation src) {
final SortedList ids = new SortedList();
for (int pos = src.getFirstSlideNumber(); pos <= src.getSlides().getLastSlidePosition(); pos++) {
ids.clear();
src.cloneSlide(src.getSlideByPosition(pos), pos, dst, ids);
}
}

Hi Citbor,


I have observed the issue in detail. Your issue is that when you clone the slides the internal hyperlinks got disturbed. Am I right? If this is the issue then I like to share that it is in fact not an issue but a logical behavior of Aspose.Slides. Actually, internal hyper links points to some previous, next or any custom slide number in the list. When you clone the slide the internal hyperlinks are deliberately discarded by Aspose.Slide as if cloned slide was pointing to some slide number 5 in source presentation. The same slide in target presentation may not point to slide 5 in target presentation as there can be some other slide at index 5 or even there are no 5 slides in target presentation. So, one need to maintain his custom logic by preserving the internal hyper links slides IDs in source presentation. Then after cloning the same slide or slides in target presentation apply the internal hyper links by finding the respective slides using slide numbers as they can be at some other index in target presentation. Hope this will elaborate the concept to you.

Many Thanks,