Redactor

Redactor class

Vertegenwoordigt een hoofdklasse die het redactieproces van documenten bestuurt, waardoor documenten kunnen worden geopend, geredigeerd en opgeslagen.

public sealed class Redactor : IDisposable, IPreviewable

Constructeurs

Naam Beschrijving
Redactor(Stream) Initialiseert een nieuw exemplaar vanRedactor klasse met behulp van stream.
Redactor(string) Initialiseert een nieuw exemplaar vanRedactor klasse met bestandspad.
Redactor(Stream, LoadOptions) Initialiseert een nieuw exemplaar vanRedactor class voor een met een wachtwoord beveiligd document met behulp van stream.
Redactor(string, LoadOptions) Initialiseert een nieuw exemplaar vanRedactor klasse voor een met een wachtwoord beveiligd document met behulp van zijn path.
Redactor(Stream, LoadOptions, RedactorSettings) Initialiseert een nieuw exemplaar vanRedactorklasse voor een met een wachtwoord beveiligd document met behulp van stream en instellingen.
Redactor(string, LoadOptions, RedactorSettings) Initialiseert een nieuw exemplaar vanRedactor class voor een met een wachtwoord beveiligd document met behulp van het pad en de instellingen.

methoden

Naam Beschrijving
Apply(Redaction) Past een redactie toe op het document.
Apply(RedactionPolicy) Past een redactiebeleid toe op het document.
Apply(Redaction[]) Past een reeks redacties toe op het document.
Dispose() Geeft bronnen vrij.
GeneratePreview(PreviewOptions) Genereert voorbeeldafbeeldingen van specifieke pagina’s in een bepaald afbeeldingsformaat.
GetDocumentInfo() Krijgt de algemene informatie over het document - grootte, aantal pagina’s, etc.
Save() Slaat het document op in een bestand met de volgende opties: AddSuffix = true, RasterizeToPDF = true.
Save(SaveOptions) Slaat het document op in een bestand.
Save(Stream, RasterizationOptions) Slaat het document op in een stream, inclusief aangepaste locatie.

Opmerkingen

Kom meer te weten

Voorbeelden

In het volgende voorbeeld ziet u hoe u een enkele redactie op het document toepast.

In het volgende voorbeeld ziet u hoe u een lijst met redacties toepast op het document.

Het volgende voorbeeld laat zien hoe u een redactiebeleid toepast op alle bestanden in een bepaalde inkomende map en opslaat in een van de uitgaande mappen - voor succesvol bijgewerkte bestanden en voor mislukte bestanden.

Het volgende voorbeeld laat zien hoe u met een wachtwoord beveiligde documenten kunt openen met behulp van LoadOptions.

Het volgende voorbeeld laat zien hoe u een document opslaat met 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)),
      // ... andere redacties
      new DeleteAnnotationRedaction("(?im:(use|show|describe))"),
      new EraseMetadataRedaction(MetadataFilter.Author),
      new MetadataSearchRedaction(LookupStrings.CompanyName, "--company--") 
   }; 
   RedactorChangeLog result = redactor.Apply(redactionList);
   // false, als ten minste één redactie is mislukt
   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))
{
    // Hier kunnen we documentinstanties gebruiken om redacties uit te voeren
}
    using (Redactor redactor = new Redactor(@"C:\sample.pdf"))
    {
       // Documentredactie komt hier
       // ...
    
       // Sla het document op met standaardopties (pagina's converteren naar afbeeldingen, opslaan als PDF)
       redactor.Save();
    
       // Sla het document op in het originele formaat en overschrijf het originele bestand
       redactor.Save(new SaveOptions() { AddSuffix = false, RasterizeToPDF = false });
    
       // Sla het document op in het bestand "*_Redacted.*" in de originele indeling
       redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
    
       // Sla het document op in "*_AnyText.*" (bijv. tijdstempel in plaats van "AnyText") in de bestandsnaam zonder rastering
       redactor.Save(new SaveOptions(false, "AnyText"));
    }    

Zie ook