PptxReadException: Seek not supported exception on loading presentation (Java)

When testing version of 19.6 of Aspose.Slides we have found an issue that is keeping us from upgrading.

Certain presentations can no longer be opened and instead throws an com.aspose.slides.PptxReadException: Seek not supported exception.

We load our presentations with the following load options:

LoadOptions loadOptions = new LoadOptions();
// improves performance when reading large presentations
loadOptions.getBlobManagementOptions().setPresentationLockingBehavior(PresentationLockingBehavior.KeepLocked);
// allows temporary files to avoid OutOfMemory conditions when presentation have larges blobs
loadOptions.getBlobManagementOptions().setTemporaryFilesAllowed(true);
// sets limit to amount of memory that can be used for blobs before using temporary files
loadOptions.getBlobManagementOptions().setMaxBlobsBytesInMemory(134217728);

Presentation pres = new Presentation(filename, loadOptions);

Here is an example of a presentation that fails to open: testPPT-EmbeddedSimpleFiles.pptx.zip (142.8 KB)

This works in older versions of Aspose.Slides.

@sbd,

I have worked with presentation file shared and have been able to observe the issue. An issue with ID SLIDESJAVA-38016 has been created in our issue tracking system to investigate and resolve the issue. This thread has been linked with issue so that you may be notified once issue will be fixed.

@mudassir.fayyaz has there been any updates to this issue? This is keeping us from upgrading and taking advantage of all the nice improvements in the 19.6+ releases.

I’ve noticed this only happens when I set the property setTemporaryFilesAllowed on the blobManagementOptions. This is however required for us since we sometimes get some very large presentations.

Here is the full code we use to load a presentation:

LoadOptions loadOptions = new LoadOptions();
// improves performance when reading large presentations
loadOptions.getBlobManagementOptions().setPresentationLockingBehavior(PresentationLockingBehavior.KeepLocked);
// allows temporary files to avoid OutOfMemory conditions when presentation have larges blobs
loadOptions.getBlobManagementOptions().setTemporaryFilesAllowed(true);
// sets limit to amount of memory that can be used for blobs before using temporary files
loadOptions.getBlobManagementOptions().setMaxBlobsBytesInMemory(134217728);

Presentation pres = new Presentation(filename, loadOptions);

@sbd,

It has been a while you have contacted us back for the issue. I suggest you to please try using Aspose.Slides for Java 20.2 on your end first. In case you are still able to reproduce the issue then please also share the source files reproducing the issue on your end so that we may investigate and log it in our issue tracking system.

@mudassir.fayyaz yes I can reproduce on 20.2. with the file provided in the original post.

@sbd,

Thank you for your feedback. I have included the feedback in our issue tracking system and will get back to you as soon as issue will be addressed.

The issues you have found earlier (filed as SLIDESJAVA-38016) have been fixed in this update.