RedactionPolicyLoad Method (Stream) |
Namespace: GroupDocs.Redaction
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>