PresentationSecurityLoadingOptions Class
Specifies content that the Presentation API removes when it loads a presentation.
Declaration
public class PresentationSecurityLoadingOptions extends SecurityLoadingOptions
Remarks
Use the LoadOptions.getSecurityLoadingOptions() method to access the PresentationSecurityLoadingOptions object. This object specifies content that the Presentation API should remove when it loads a presentation.
Configure security loading options before you load the presentation.
The following code snippet configures loading options, handles security violations, and loads a presentation with the specified security settings. The example throws an exception if the presentation exceeds a configured limit or contains restricted content, and logs the violation to the console:
package presentation;
import com.devexpress.docs.office.*;
import com.devexpress.docs.presentation.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception {
// Create load options.
LoadOptions loadOptions = new LoadOptions();
// Configure security loading limits.
PresentationSecurityLoadingLimits limits = new PresentationSecurityLoadingLimits();
limits.setMaxFileSize(50L * 1024 * 1024);
limits.setMaxSlideCount(100);
limits.setMaxShapeCountPerSlide(500);
loadOptions.setSecurityLoadingLimits(limits);
// Configure security loading options.
PresentationSecurityLoadingOptions securityLoadingOptionsOptions = new PresentationSecurityLoadingOptions();
securityLoadingOptionsOptions.setRemoveMacros(true);
securityLoadingOptionsOptions.setRemoveOleObjects(true);
securityLoadingOptionsOptions.setRemoveActiveXContent(true);
securityLoadingOptionsOptions.setRemoveCustomXMLParts(true);
loadOptions.setSecurityLoadingOptions(securityLoadingOptionsOptions);
// Handle security loading violations.
loadOptions.setSecurityLoadingHandler(new ISecurityLoadingHandler() {
@Override
public SecurityLimitAction handleLimitExceeded(
SecurityLimitExceededParams parameters) {
System.out.println("Security limit exceeded: " + parameters.getPropertyName());
return SecurityLimitAction.THROW;
}
@Override
public SecurityViolationAction handleOptionsViolation(
SecurityOptionsViolationParams parameters) {
System.out.println("Security option violated: " + parameters.getPropertyName());
return SecurityViolationAction.REMOVE;
}
});
try(FileInputStream inputStream = new FileInputStream("Presentation.pptx");
Presentation presentation = new Presentation(inputStream, loadOptions)) {
//...
}
}
}
Refer to the following help topic for additional information: Secure Presentation Processing.
Inherited Members
Inheritance
PresentationSecurityLoadingOptions()
Initializes a new instance of the PresentationSecurityLoadingOptions class.
Declaration
public PresentationSecurityLoadingOptions()