GroupDocs.Redaction supports an effective set of document redaction features. It allows to apply redactions for text, metadata, annotations, images.
Wide range of document formats is supported, such as: PDF, DOC, DOCX, PPT, PPTX, XLS, XLSX and others. See full list of supported formats at supported document formats article
Redaction types
GroupDocs.Redaction comes with the following redaction types:
Applying redaction to a document is done through Redactor.Apply method. As a result, you receive RedactorChangeLog instance, containing a log entry for each redaction applied. The entry contains reference to Redacton instance including its options, status of the operation (see below) and textual descriptions when applicable. If at least one redaction failed, you will see Status == RedactionStatus.Failed:
All possible statuses of the RedactionStatus enumeration are listed in this table:
Status
Description
Possible reasons
Applied
Redaction was fully and successfully applied
All operations within redaction process were successfully applied
PartiallyApplied
Redaction was applied only to a part of its matches
1) Trial limitations for replacements were exceeded2) At least one change was rejected by user
Skipped
Redaction was skipped (not applied)
1) Trial limitations for redactions were exceeded2) Redaction cannot be applied to this type of document3) All replacements were rejected by user and no changes were made
Failed
Redaction failed with exception
An exception occurred in process of redaction
For detailed information you have to iterate through redaction log entries in RedactorChangeLog.RedactionLog and check for ErrorMessage property of any items with status other than Applied:
C#
RedactorChangeLogsummary=redactor.Apply(...);if(summary.Status!=RedactionStatus.Applied){for(inti=0;i<summary.RedactionLog.Count;i++){RedactorLogEntrylogEntry=summary.RedactionLog[i];if(logEntry.Result.Status!=RedactionStatus.Applied){Console.WriteLine("{0} status is {1}, details: {2}",logEntry.Redaction.GetType().Name,logEntry.Result.Status,logEntry.Result.ErrorMessage);}}}
Apply multiple redactions
You can apply as much redactions as you need in a single call to Redactor.Apply method, since its overload accepts an array of redactions and redaction policy. In this case, redactions will be applied in the same order as they appear in the array. As an alternative to specifying redaction sets in your code, you can create an XML file with redaction policy, as described here.
C#
using(Redactorredactor=newRedactor("sample.docx")){varredactionList=newRedaction[]{newExactPhraseRedaction("John Doe",newReplacementOptions("[Client]")),newRegexRedaction("Redaction",newReplacementOptions("[Product]")),newRegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}",newReplacementOptions(System.Drawing.Color.Blue)),newDeleteAnnotationRedaction(),newEraseMetadataRedaction(MetadataFilters.All)};RedactorChangeLogresult=redactor.Apply(redactionList);// false, if at least one redaction failedif(result.Status!=RedactionStatus.Failed){redactor.Save();};}
More resources
Advanced usage topics
To learn more about document redaction features, please refer to the advanced usage section.
GitHub examples
You may easily run the code above and see the feature in action in our GitHub examples:
Along with full featured .NET library we provide simple, but powerful free Apps.
You are welcome to perform redactions for various document formats like PDF, DOC, DOCX, PPT, PPTX, XLS, XLSX, Emails and more with our free online Free Online Document Redaction App.
Was this page helpful?
Any additional feedback you'd like to share with us?
Please tell us how we can improve this page.
Thank you for your feedback!
We value your opinion. Your feedback will help us improve our documentation.