Redactor

Redactor class

Rappresenta una classe principale che controlla il processo di redazione dei documenti, consentendo di aprire, redigere e salvare i documenti.

public sealed class Redactor : IDisposable, IPreviewable

Costruttori

Nome Descrizione
Redactor(Stream) Inizializza una nuova istanza diRedactor classe utilizzando stream.
Redactor(string) Inizializza una nuova istanza diRedactor classe utilizzando il percorso del file.
Redactor(Stream, LoadOptions) Inizializza una nuova istanza diRedactor class per un documento protetto da password utilizzando stream.
Redactor(string, LoadOptions) Inizializza una nuova istanza diRedactor class per un documento protetto da password utilizzando il suo percorso.
Redactor(Stream, LoadOptions, RedactorSettings) Inizializza una nuova istanza diRedactorclass per un documento protetto da password utilizzando stream e impostazioni.
Redactor(string, LoadOptions, RedactorSettings) Inizializza una nuova istanza diRedactor class per un documento protetto da password utilizzando il percorso e le impostazioni.

Metodi

Nome Descrizione
Apply(Redaction) Applica una redazione al documento.
Apply(RedactionPolicy) Applica un criterio di redazione al documento.
Apply(Redaction[]) Applica una serie di redazioni al documento.
Dispose() Rilascia risorse.
GeneratePreview(PreviewOptions) Genera immagini di anteprima di pagine specifiche in un determinato formato immagine.
GetDocumentInfo() Recupera le informazioni generali sul documento: dimensioni, numero di pagine, ecc.
Save() Salva il documento in un file con le seguenti opzioni: AddSuffix = true, RasterizeToPDF = true.
Save(SaveOptions) Salva il documento in un file.
Save(Stream, RasterizationOptions) Salva il documento in un flusso, inclusa la posizione personalizzata.

Osservazioni

Saperne di più

Esempi

L’esempio seguente mostra l’applicazione di una singola redazione al documento.

L’esempio seguente mostra l’applicazione di un elenco di redazioni al documento.

L’esempio seguente mostra come applicare un criterio di revisione a tutti i file all’interno di una determinata cartella in entrata e salvare in una delle cartelle in uscita, per i file aggiornati correttamente e per quelli non riusciti.

L’esempio seguente mostra come aprire un documento protetto da password utilizzando LoadOptions.

L’esempio seguente mostra come salvare un documento utilizzando SaveOptions.

using (Redactor redactor = new Redactor(@"D:\\test.docx"))
{
   RedactorChangeLog result = redactor.Apply(new RegexRedaction(LookupStrings.SSNRegexPattern, new ReplacementOptions("[ssn]")));
   if (result.Status != RedactionStatus.Failed)
   {
      redactor.Save();
   };
}
using (Redactor redactor = new Redactor(@"D:\\test.docx"))
{
   var redactionList = new Redaction[] 
   {
      new ExactPhraseRedaction(LookupStrings.ClientName, new ReplacementOptions("[client]")),
      new ExactPhraseRedaction(LookupStrings.ClientAddress, new ReplacementOptions(System.Drawing.Color.Red)),
      new RegexRedaction(LookupStrings.SSNRegexPattern, new ReplacementOptions("[ssn]")),
      new RegexRedaction(LookupStrings.BankCardRegexPattern, new ReplacementOptions(System.Drawing.Color.Blue)),
      // ... altre redazioni
      new DeleteAnnotationRedaction("(?im:(use|show|describe))"),
      new EraseMetadataRedaction(MetadataFilter.Author),
      new MetadataSearchRedaction(LookupStrings.CompanyName, "--company--") 
   }; 
   RedactorChangeLog result = redactor.Apply(redactionList);
   // false, se almeno una redazione ha avuto esito negativo
   if (result.Status != RedactionStatus.Failed)
   {
      redactor.Save();
   };
}
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 });
   	     }        
     }
}   
LoadOptions loadOptions = new LoadOptions("mypassword");
using (Redactor redactor = new Redactor(@"C:\sample.pdf", loadOptions))
{
    // Qui possiamo usare l'istanza del documento per eseguire redazioni
}
    using (Redactor redactor = new Redactor(@"C:\sample.pdf"))
    {
       // La redazione del documento va qui
       //...
    
       // Salva il documento con le opzioni predefinite (converti le pagine in immagini, salva come PDF)
       redactor.Save();
    
       // Salva il documento nel formato originale sovrascrivendo il file originale
       redactor.Save(new SaveOptions() { AddSuffix = false, RasterizeToPDF = false });
    
       // Salva il documento nel file "*_Redacted.*" nel formato originale
       redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
    
       // Salva il documento in "*_AnyText.*" (ad es. timestamp invece di "AnyText") nel suo nome file senza rasterizzazione
       redactor.Save(new SaveOptions(false, "AnyText"));
    }    

Guarda anche