Redactor

Redactor class

Αντιπροσωπεύει μια κύρια κλάση που ελέγχει τη διαδικασία επεξεργασίας εγγράφων, επιτρέποντας το άνοιγμα, την επεξεργασία και την αποθήκευση εγγράφων.

public sealed class Redactor : IDisposable, IPreviewable

Κατασκευαστές

Ονομα Περιγραφή
Redactor(Stream) Αρχικοποιεί μια νέα παρουσία τουRedactor τάξη με χρήση ροής.
Redactor(string) Αρχικοποιεί μια νέα παρουσία τουRedactor κλάση χρησιμοποιώντας διαδρομή αρχείου.
Redactor(Stream, LoadOptions) Αρχικοποιεί μια νέα παρουσία τουRedactor τάξη για ένα έγγραφο που προστατεύεται με κωδικό πρόσβασης με χρήση ροής.
Redactor(string, LoadOptions) Αρχικοποιεί μια νέα παρουσία τουRedactor κλάση για ένα έγγραφο που προστατεύεται με κωδικό πρόσβασης χρησιμοποιώντας τη διαδρομή του.
Redactor(Stream, LoadOptions, RedactorSettings) Αρχικοποιεί μια νέα παρουσία τουRedactorτάξη για ένα έγγραφο που προστατεύεται με κωδικό πρόσβασης χρησιμοποιώντας ροή και ρυθμίσεις.
Redactor(string, LoadOptions, RedactorSettings) Αρχικοποιεί μια νέα παρουσία τουRedactor τάξη για ένα έγγραφο που προστατεύεται με κωδικό πρόσβασης χρησιμοποιώντας τη διαδρομή και τις ρυθμίσεις του.

Μέθοδοι

Ονομα Περιγραφή
Apply(Redaction) Εφαρμόζει μια διόρθωση στο έγγραφο.
Apply(RedactionPolicy) Εφαρμόζει μια πολιτική επεξεργασίας στο έγγραφο.
Apply(Redaction[]) Εφαρμόζει ένα σύνολο διορθώσεων στο έγγραφο.
Dispose() Απελευθερώνει πόρους.
GeneratePreview(PreviewOptions) Δημιουργεί εικόνες προεπισκόπησης συγκεκριμένων σελίδων σε μια δεδομένη μορφή εικόνας.
GetDocumentInfo() Λαμβάνει τις γενικές πληροφορίες σχετικά με το έγγραφο - μέγεθος, πλήθος σελίδων κ.λπ.
Save() Αποθηκεύει το έγγραφο σε ένα αρχείο με τις ακόλουθες επιλογές: AddSuffix = true, RasterizeToPDF = true.
Save(SaveOptions) Αποθηκεύει το έγγραφο σε ένα αρχείο.
Save(Stream, RasterizationOptions) Αποθηκεύει το έγγραφο σε μια ροή, συμπεριλαμβανομένης της προσαρμοσμένης τοποθεσίας.

Παρατηρήσεις

Μάθε περισσότερα

Παραδείγματα

Το ακόλουθο παράδειγμα δείχνει την εφαρμογή μιας μεμονωμένης έκδοσης στο έγγραφο.

Το ακόλουθο παράδειγμα δείχνει την εφαρμογή μιας λίστας διορθώσεων στο έγγραφο.

Το ακόλουθο παράδειγμα δείχνει πώς μπορείτε να εφαρμόσετε μια πολιτική επεξεργασίας σε όλα τα αρχεία ενός δεδομένου εισερχόμενου φακέλου και να αποθηκεύσετε σε έναν από τους φακέλους εξερχόμενων - για αρχεία που ενημερώθηκαν με επιτυχία και για αρχεία που απέτυχαν.

Το ακόλουθο παράδειγμα δείχνει πώς να ανοίξετε έγγραφα που προστατεύονται με κωδικό πρόσβασης χρησιμοποιώντας το LoadOptions.

Το ακόλουθο παράδειγμα δείχνει πώς να αποθηκεύσετε ένα έγγραφο χρησιμοποιώντας το 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)),
      // ... άλλες διασκευές
      new DeleteAnnotationRedaction("(?im:(use|show|describe))"),
      new EraseMetadataRedaction(MetadataFilter.Author),
      new MetadataSearchRedaction(LookupStrings.CompanyName, "--company--") 
   }; 
   RedactorChangeLog result = redactor.Apply(redactionList);
   // false, εάν τουλάχιστον μία διόρθωση απέτυχε
   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))
{
    // Εδώ μπορούμε να χρησιμοποιήσουμε το παράδειγμα εγγράφου για να εκτελέσουμε διορθώσεις
}
    using (Redactor redactor = new Redactor(@"C:\sample.pdf"))
    {
       // Η επεξεργασία του εγγράφου πηγαίνει εδώ
       //...
    
       // Αποθήκευση του εγγράφου με προεπιλεγμένες επιλογές (μετατροπή σελίδων σε εικόνες, αποθήκευση ως PDF)
       redactor.Save();
    
       // Αποθηκεύστε το έγγραφο στην αρχική μορφή αντικαθιστώντας το αρχικό αρχείο
       redactor.Save(new SaveOptions() { AddSuffix = false, RasterizeToPDF = false });
    
       // Αποθηκεύστε το έγγραφο στο αρχείο "*_Redacted.*" στην αρχική μορφή
       redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
    
       // Αποθηκεύστε το έγγραφο στο "*_AnyText.*" (π.χ. χρονική σήμανση αντί για "AnyText") στο όνομα του αρχείου του χωρίς ραστεροποίηση
       redactor.Save(new SaveOptions(false, "AnyText"));
    }    

Δείτε επίσης