SecurityViolationAction Enum
Lists values that specify the action that the API takes when it detects a security violation.
Declaration
public enum SecurityViolationAction extends Enum<SecurityViolationAction> implements IIntEnum
Members
| Name | Description |
|---|---|
KEEP
|
Keeps content that violates a security restriction. |
REMOVE
|
Removes content that violates a security restriction. |
fromValue(int value)
|
Returns the enum item with the specified integer value. |
getName()
|
Returns the name of the enumeration constant. |
getValue()
|
Returns the integer value associated with the enumeration constant. |
toString()
|
Returns the string representation of the enumeration constant. |
valueOf(String name)
|
Returns the enum constant with the specified name. |
values()
|
Returns available constants. |
Remarks
Refer to the following help topic for additional information: Secure Presentation Processing.
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)) {
//...
}
}
}