RedactionPolicy
Contents
[
Hide
]
RedactionPolicy class
Represents a sanitization policy, containing a set of specific redactions to apply.
public class RedactionPolicy
Constructors
Name | Description |
---|---|
RedactionPolicy() | Creates a new instance of Redaction policy. |
RedactionPolicy(Redaction[]) | Creates a new instance of Redaction policy with a specific list of redactions. |
Properties
Name | Description |
---|---|
Redactions { get; } | Gets an array of fully configured Redaction -derived classes. |
Methods
Name | Description |
---|---|
static Load(Stream) | Loads an instance of RedactionPolicy from a stream. |
static Load(string) | Loads an instance of RedactionPolicy from a file path. |
Save(Stream) | Saves the redaction policy to a stream. |
Save(string) | Saves the redaction policy to a file. |
Remarks
Learn more
- More details about policies: Use of redaction policies
- More details about applying redactions: Redaction basics
Examples
The following example demonstrates how to apply a redaction policy to all files within a given inbound folder, and save to one of outbound folders - for successfully updated files and for failed ones.
RedactionPolicy policy = RedactionPolicy.Load("RedactionPolicy.xml");
foreach (var fileEntry in Directory.GetFileNames("C:\\Inbound"))
{
using (Redactor redactor = new Redactor(Path.Combine("C:\\Inbound\\", fileEntry)))
{
RedactorChangeLog result = redactor.Apply(policy);
String resultFolder = result.Status != RedactionStatus.Failed ? "C:\\Outbound\\Done\\" : "C:\\Outbound\\Failed\\";
using (Stream fileStream = File.Open(Path.Combine(resultFolder, fileEntry), FileMode.Open, FileAccess.ReadWrite))
{
redactor.Save(fileStream, new RasterizationOptions() { Enabled = false });
}
}
}
The following example contains a sample XML policy file with sample configurations for all types of redactions.
<?xml version="1.0" encoding="utf-8"?>
<redactionPolicy xmlns = "http://www.groupdocs.com/redaction" >
<regexRedaction regularExpression="(dolor)" actionType="ReplaceString" replacement="foobar" />
<exactPhraseRedaction searchPhrase = "dolor" caseSensitive="true" actionType="DrawBox" color="Red" />
<cellColumnRedaction regularExpression = "(foo)bar1" replacement="[red1]" columnIndex="1" worksheetIndex="2" />
<cellColumnRedaction regularExpression = "(foo)bar2" replacement="[red2]" wokrsheetName="Sample" />
<eraseMetadataRedaction filter = "All" />
<metadataSearchRedaction filter="Title, Author" replacement="foobar" valueExpression="(metasearch)" keyExpression="" />
<annotationRedaction regularExpression = "(anno1)" replacement="foobar" />
<deleteAnnotationRedaction regularExpression = "(anno2)" />
<imageAreaRedaction pointX="15" pointY="17" width="200" height="10" color="#AA50FC" />
<imageAreaRedaction pointX = "110" pointY="120" width="60" height="20" color="Magenta" />
</redactionPolicy>
See Also
- namespace GroupDocs.Redaction
- assembly GroupDocs.Redaction