Redactor

Redactor class

Belge düzeltme sürecini kontrol eden, belgeleri açmaya, düzeltmeye ve kaydetmeye izin veren bir ana sınıfı temsil eder.

public sealed class Redactor : IDisposable, IPreviewable

yapıcılar

İsim Tanım
Redactor(Stream) Yeni bir örneğini başlatırRedactor stream. kullanan sınıf
Redactor(string) Yeni bir örneğini başlatırRedactor dosya yolunu kullanan sınıf.
Redactor(Stream, LoadOptions) Yeni bir örneğini başlatırRedactor stream. kullanan parola korumalı bir belge için sınıf
Redactor(string, LoadOptions) Yeni bir örneğini başlatırRedactor path. kullanan parola korumalı bir belge için sınıf
Redactor(Stream, LoadOptions, RedactorSettings) Yeni bir örneğini başlatırRedactorakış ve ayarları kullanan parola korumalı bir belge için sınıf.
Redactor(string, LoadOptions, RedactorSettings) Yeni bir örneğini başlatırRedactor yolunu ve ayarlarını kullanan parola korumalı bir belge için sınıf.

yöntemler

İsim Tanım
Apply(Redaction) Belgeye bir redaksiyon uygular.
Apply(RedactionPolicy) Belgeye bir redaksiyon politikası uygular.
Apply(Redaction[]) Belgeye bir dizi düzeltme uygular.
Dispose() Kaynakları serbest bırakır.
GeneratePreview(PreviewOptions) Belirli sayfaların önizleme resimlerini belirli bir resim biçiminde oluşturur.
GetDocumentInfo() Belge hakkında genel bilgileri alır - boyut, sayfa sayısı, vb.
Save() Belgeyi aşağıdaki seçeneklerle bir dosyaya kaydeder: AddSuffix = true, RasterizeToPDF = true.
Save(SaveOptions) Belgeyi bir dosyaya kaydeder.
Save(Stream, RasterizationOptions) Belgeyi, özel konum da dahil olmak üzere bir akışa kaydeder.

Notlar

Daha fazla bilgi edin

Örnekler

Aşağıdaki örnek, belgeye tek bir redaksiyonun uygulanmasını göstermektedir.

Aşağıdaki örnek, bir redaksiyon listesinin belgeye uygulanmasını göstermektedir.

Aşağıdaki örnek, bir redaksiyon ilkesinin belirli bir gelen klasörü içindeki tüm dosyalara nasıl uygulanacağını ve başarıyla güncellenen dosyalar ve başarısız olanlar için giden klasörlerden birine nasıl kaydedileceğini gösterir.

Aşağıdaki örnek, parola korumalı belgelerin LoadOptions kullanılarak nasıl açılacağını gösterir.

Aşağıdaki örnek, SaveOptions kullanılarak bir belgenin nasıl kaydedileceğini gösterir.

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)),
      // ... diğer düzeltmeler
      new DeleteAnnotationRedaction("(?im:(use|show|describe))"),
      new EraseMetadataRedaction(MetadataFilter.Author),
      new MetadataSearchRedaction(LookupStrings.CompanyName, "--company--") 
   }; 
   RedactorChangeLog result = redactor.Apply(redactionList);
   // yanlış, en az bir redaksiyon başarısız olursa
   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))
{
    // Burada redaksiyon yapmak için belge örneğini kullanabiliriz
}
    using (Redactor redactor = new Redactor(@"C:\sample.pdf"))
    {
       // Belge redaksiyonu buraya gelir
       // ...
    
       // Belgeyi varsayılan seçeneklerle kaydedin (sayfaları görüntülere dönüştürün, PDF olarak kaydedin)
       redactor.Save();
    
       // Orijinal dosyanın üzerine yazarak belgeyi orijinal biçimde kaydedin
       redactor.Save(new SaveOptions() { AddSuffix = false, RasterizeToPDF = false });
    
       // Belgeyi orijinal formatta "*_Redacted.*" dosyasına kaydedin
       redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
    
       // Belgeyi rasterleştirmeden dosya adında "*_AnyText.*" (örn. "AnyText" yerine zaman damgası) olarak kaydedin
       redactor.Save(new SaveOptions(false, "AnyText"));
    }    

Ayrıca bakınız