←Select platform

Mode Property

Summary

Mode to use when applying the annotations.

Syntax
C#
C++/CLI
Python
public DocumentRedactionMode Mode {get; set;} 
public:  
   property DocumentRedactionMode^ Mode 
   { 
      DocumentRedactionMode^ get() 
      void set(DocumentRedactionMode^ value) 
   } 
Mode # get and set (AnnotationsRedactionOptions) 

Property Value

The mode to use when applying the annotations. The default value is DocumentRedactionMode.None.

Remarks

For more information, refer to Document View and Convert Redaction.

Example
C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Document.Writer; 
 
using Leadtools.Document; 
using Leadtools.Caching; 
using Leadtools.Annotations.Engine; 
using Leadtools.Ocr; 
using Leadtools.Barcode; 
using Leadtools.Document.Converter; 
 
public void DocumentRedactionExample() 
{ 
   // AnnotationsRedactionOptions redactionOptions = new AnnotationsRedactionOptions(); 
   var cache = new FileCache(); 
   cache.CacheDirectory = @"c:\cache-dir"; 
 
   using (var documentConverter = new DocumentConverter()) 
   { 
 
      // Load a PDF filed 
      var loadDocumentOptions = new LoadDocumentOptions(); 
      loadDocumentOptions.Cache = cache; 
      using (LEADDocument document = DocumentFactory.LoadFromUri(new Uri("http://demo.leadtools.com/images/pdf/leadtools.pdf"), loadDocumentOptions)) 
      { 
         // Convert to PDF using default options 
         string outFileName = Path.Combine(LEAD_VARS.ImagesDir, "no-redaction.pdf"); 
         DocumentRedactConvert(documentConverter, document, DocumentFormat.Pdf, outFileName); 
 
         // Open the converted document no-redaction.pdf, notice that it resembles the original document 
 
         // We will use DocumentPageText to dynamically find the location of all words containing "leadtools" 
 
         document.IsReadOnly = false; 
         const string toRedact = "leadtools"; 
         DocumentPage documentPage = document.Pages[0]; 
         DocumentPageText pageText = documentPage.GetText(); 
         pageText.BuildWords(); 
 
         AnnContainer container = documentPage.GetAnnotations(true); 
         foreach (DocumentWord word in pageText.Words) 
         { 
            // Find if the word is ours 
            if (word.Value.Contains(toRedact)) 
            { 
               // Yes, redact it 
               var annRedactionObject = new AnnRedactionObject(); 
               annRedactionObject.Rect = word.Bounds; 
               container.Children.Add(annRedactionObject); 
            } 
         } 
 
         // Set the container into the page 
         documentPage.SetAnnotations(container); 
 
         // Set the redaction options 
         // AnnotationRedactionOptions & ConvertRedactionOptions reference 
         document.Annotations.RedactionOptions = new DocumentRedactionOptions(); 
         // ViewRedactionOptions & AnnotationsRedactionOptions reference 
         document.Annotations.RedactionOptions.ViewOptions.Mode = DocumentRedactionMode.Apply; 
         document.Annotations.RedactionOptions.ViewOptions.ReplaceCharacter = '*'; 
         document.Annotations.RedactionOptions.ConvertOptions.Mode = DocumentRedactionMode.Apply; 
         document.Annotations.RedactionOptions.ConvertOptions.ReplaceCharacter = '*'; 
 
         document.IsReadOnly = true; 
 
         // Convert again, the result should have all instance of "leadtools" in the first page and replaced with * 
         outFileName = Path.Combine(LEAD_VARS.ImagesDir, "redacted.pdf"); 
         DocumentRedactConvert(documentConverter, document, DocumentFormat.Pdf, outFileName); 
      } 
   } 
} 
 
private static void DocumentRedactConvert(DocumentConverter documentConverter, LEADDocument document, DocumentFormat documentFormat, string outFileName) 
{ 
   var jobData = new DocumentConverterJobData(); 
   jobData.Document = document; 
   jobData.DocumentFormat = documentFormat; 
   jobData.RasterImageFormat = RasterImageFormat.Unknown; 
   jobData.OutputDocumentFileName = outFileName; 
 
   DocumentConverterJob job = documentConverter.Jobs.CreateJob(jobData); 
   documentConverter.Jobs.RunJob(job); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.File; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.net.MalformedURLException; 
import java.net.URI; 
import java.net.URISyntaxException; 
import java.net.URL; 
import java.nio.file.Files; 
import java.nio.file.Paths; 
import java.util.ArrayList; 
import java.util.Calendar; 
import java.util.List; 
import java.util.concurrent.Callable; 
import java.util.concurrent.ExecutorService; 
import java.util.concurrent.Executors; 
import java.util.concurrent.Future; 
import java.util.regex.Pattern; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.*; 
 
import leadtools.*; 
import leadtools.annotations.engine.*; 
import leadtools.barcode.*; 
import leadtools.caching.*; 
import leadtools.codecs.*; 
import leadtools.document.*; 
import leadtools.document.DocumentMimeTypes.UserGetDocumentStatusHandler; 
import leadtools.document.converter.*; 
import leadtools.document.writer.*; 
import leadtools.ocr.*; 
 
 
public void documentRedactionOptionsExample() throws URISyntaxException { 
 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   // AnnotationsRedactionOptions redactionOptions = new 
   // AnnotationsRedactionOptions(); 
   FileCache cache = new FileCache(); 
   cache.setCacheDirectory("c:\\cache-dir"); 
 
   DocumentConverter documentConverter = new DocumentConverter(); 
 
   // Load a PDF filed 
   LoadDocumentOptions loadDocumentOptions = new LoadDocumentOptions(); 
   loadDocumentOptions.setCache(cache); 
   LEADDocument document = DocumentFactory.loadFromUri(new URI("http://demo.leadtools.com/images/pdf/leadtools.pdf"), 
         loadDocumentOptions); 
   // Convert to PDF using default options 
   String outFileName = combine(LEAD_VARS_IMAGES_DIR, "no-redaction.pdf"); 
   documentRedactConvert(documentConverter, document, DocumentFormat.PDF, outFileName); 
 
   // Open the converted document no-redaction.pdf, notice that it resembles the 
   // original document 
 
   // We will use DocumentPageText to dynamically find the location of all words 
   // containing "leadtools" 
 
   document.setReadOnly(false); 
   final String toRedact = "leadtools"; 
   DocumentPage documentPage = document.getPages().get(0); 
   DocumentPageText pageText = documentPage.getText(); 
   pageText.buildWords(); 
 
   AnnContainer container = documentPage.getAnnotations(true); 
   for (DocumentWord word : pageText.getWords()) { 
      // Find if the word is ours 
      if (word.getValue().contains(toRedact)) { 
         // Yes, redact it 
         AnnRedactionObject annRedactionObject = new AnnRedactionObject(); 
         annRedactionObject.setRect(word.getBounds()); 
         container.getChildren().add(annRedactionObject); 
      } 
   } 
 
   // Set the container into the page 
   documentPage.setAnnotations(container); 
 
   // Set the redaction options 
   // AnnotationRedactionOptions & ConvertRedactionOptions reference 
   document.getAnnotations().setRedactionOptions(new DocumentRedactionOptions()); 
   // ViewRedactionOptions & AnnotationsRedactionOptions reference 
   document.getAnnotations().getRedactionOptions().getViewOptions().setMode(DocumentRedactionMode.APPLY); 
   document.getAnnotations().getRedactionOptions().getViewOptions().setReplaceCharacter('*'); 
   document.getAnnotations().getRedactionOptions().getConvertOptions().setMode(DocumentRedactionMode.APPLY); 
   document.getAnnotations().getRedactionOptions().getConvertOptions().setReplaceCharacter('*'); 
 
   document.setReadOnly(true); 
 
   // Convert again, the result should have all instance of "leadtools" in the 
   // first page and replaced with * 
   outFileName = combine(LEAD_VARS_IMAGES_DIR, "redacted.pdf"); 
   documentRedactConvert(documentConverter, document, DocumentFormat.PDF, outFileName); 
} 
 
private static void documentRedactConvert(DocumentConverter documentConverter, LEADDocument document, 
      DocumentFormat documentFormat, String outFileName) { 
 
   DocumentConverterJobData jobData = new DocumentConverterJobData(); 
   jobData.setDocument(document); 
   jobData.setDocumentFormat(documentFormat); 
   jobData.setRasterImageFormat(RasterImageFormat.UNKNOWN); 
   jobData.setOutputDocumentFileName(outFileName); 
 
   DocumentConverterJob job = documentConverter.getJobs().createJob(jobData); 
   documentConverter.getJobs().runJob(job); 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Document Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.