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);
   // خطأ ، إذا فشل تنقيح واحد على الأقل
   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"));
    }    

أنظر أيضا