GroupDocs.Redaction for .NET 26.6 متاح الآن. يسهّل هذا الإصدار فتح المستندات من التدفقات (streams) والملفات مع تحديد صريح للتنسيق، ويقدّم واجهة برمجة تطبيقات رسم جديدة مستقلة عن System.Drawing لتحسين التوافق عبر الأنظمة.

الإصلاحات والتحسينات

  • [Enhancement] تحديد نوع الملف عند فتح مستند من تدفق أو مسار ملف. (REDACTIONNET-572)
  • [Enhancement] الانتقال بعيدًا عن System.Drawing لتعزيز التوافق عبر الأنظمة. (REDACTIONNET-799)

ما الجديد؟

يركّز هذا الإصدار على مجالين يبسطان التكامل ويُعِدّان واجهة البرمجة لدعم منصات أوسع.

تحديد تنسيق المستند باستخدام LoadOptions.FileType

عند فتح مستند، يكتشف GroupDocs.Redaction تنسيقه تلقائيًا عادةً. يعمل هذا جيدًا للملفات التي تحمل امتدادًا صحيحًا، لكنه قد يفشل مع التدفقات التي لا تحمل اسم ملف أو عندما لا يتطابق الامتداد مع المحتوى الفعلي.

تضيف النسخة 26.6 الخاصية LoadOptions.FileType ومنشئ LoadOptions(FileType). عيّن FileType إلى ثابت مدعوم مثل FileType.DOCX أو FileType.PDF، وستفتح المكتبة المستند باستخدام ذلك التنسيق دون تشغيل عملية اكتشاف التنسيق الثنائي. السلوك الافتراضي يبقى كما هو عندما لا يتم تحديد FileType أو يظل FileType.Unknown.

أنواع الرسم عبر الأنظمة في GroupDocs.Redaction.Options.Drawing

اعتمدت عدة خيارات تعديل سابقة على أنواع System.Drawing (Color، Point، Size، Rectangle، Font). هذه الأنواع غير متوفرة على جميع الأنظمة وقد تعقّد النشر على Linux وفي بيئات الحاويات.

توفر مساحة الاسم الجديدة GroupDocs.Redaction.Options.Drawing الأنواع Color، Point، Size، Rectangle، Font، و FontStyle للاستخدام في واجهة البرمجة العامة. تقبل التحميلات (overloads) الجديدة هذه الأنواع في ReplacementOptions، RegionReplacementOptions، ImageAreaRedaction، PageAreaFilter، TextFragment، والفئات ذات الصلة.

الكود الموجود الذي يستخدم System.Drawing يظل يُجمّع ويعمل. تم وضع العلامة “obsolete” على الأعضاء المقابلين ويُستحسن ترحيلها إلى الأنواع الجديدة في التحديثات المستقبلية.

تغييرات في واجهة البرمجة العامة

المضافة

  • خاصية LoadOptions.FileType
  • منشئ LoadOptions(FileType fileType)
  • أنواع الرسم في GroupDocs.Redaction.Options.Drawing: Color، Point، Size، Rectangle، Font، FontStyle
  • تحميلات جديدة تقبل أنواع GroupDocs.Redaction.Options.Drawing

المهملة (Obsolete)

  • ReplacementOptions.BoxColor — استخدم ReplacementOptions.BoxFillColor بدلاً منه
  • ReplacementOptions(System.Drawing.Color) — استخدم ReplacementOptions(GroupDocs.Redaction.Options.Drawing.Color) بدلاً منه
  • RegionReplacementOptions.FillColor — استخدم RegionReplacementOptions.AreaFillColor بدلاً منه
  • RegionReplacementOptions.Size — استخدم RegionReplacementOptions.AreaSize بدلاً منه
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Size) — استخدم التحميلة التي تقبل GroupDocs.Redaction.Options.Drawing.Color و GroupDocs.Redaction.Options.Drawing.Size بدلاً منها
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Font, string) — استخدم التحميلة التي تقبل GroupDocs.Redaction.Options.Drawing.Color و GroupDocs.Redaction.Options.Drawing.Font بدلاً منها
  • ImageAreaRedaction.TopLeft — استخدم ImageAreaRedaction.TopLeftPosition بدلاً منه
  • ImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions) — استخدم التحميلة التي تقبل GroupDocs.Redaction.Options.Drawing.Point بدلاً منها
  • PageAreaFilter.Rectangle — استخدم PageAreaFilter.AreaRectangle بدلاً منه
  • PageAreaFilter(System.Drawing.Point, System.Drawing.Size) — استخدم التحميلة التي تقبل GroupDocs.Redaction.Options.Drawing.Point و GroupDocs.Redaction.Options.Drawing.Size بدلاً منها
  • TextFragment.Rectangle — استخدم TextFragment.BoundingRectangle بدلاً منه
  • TextFragment(string, System.Drawing.Rectangle) — استخدم TextFragment(string, GroupDocs.Redaction.Options.Drawing.Rectangle) بدلاً منه
  • IImageFormatInstance.EditArea(System.Drawing.Point, RegionReplacementOptions) — استخدم التحميلة التي تقبل GroupDocs.Redaction.Options.Drawing.Point بدلاً منها

أمثلة على الشيفرة

فتح مستند بنوع ملف صريح

using System.IO;
using GroupDocs.Redaction.Options;
using GroupDocs.Redaction.Redactions;

using (Stream stream = File.OpenRead("sample.docx"))
{
    using (Redactor redactor = new Redactor(stream, new LoadOptions(FileType.DOCX)))
    {
        redactor.Apply(new DeleteAnnotationRedaction());
        redactor.Save();
    }
}

using (Redactor redactor = new Redactor("sample.pdf", new LoadOptions(FileType.PDF)))
{
    redactor.Apply(new ExactPhraseRedaction("Test", new ReplacementOptions("[redacted]")));
    redactor.Save();
}

استخدام GroupDocs.Redaction.Options.Drawing بدلاً من System.Drawing

using GroupDocs.Redaction.Options.Drawing;
using GroupDocs.Redaction.Redactions;

// سابقًا: new ReplacementOptions(System.Drawing.Color.Red)
using (Redactor redactor = new Redactor("sample.docx"))
{
    redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(Color.Red)));
    redactor.Save();
}

// سابقًا: new ImageAreaRedaction(new System.Drawing.Point(516, 311),
//     new RegionReplacementOptions(System.Drawing.Color.Blue, new System.Drawing.Size(170, 35)))
using (Redactor redactor = new Redactor("sample.jpg"))
{
    redactor.Apply(new ImageAreaRedaction(new Point(516, 311),
        new RegionReplacementOptions(Color.Blue, new Size(170, 35))));
    redactor.Save();
}

كيفية الحصول على التحديث

  • NuGet – قم بالترقية إلى أحدث حزمة GroupDocs.Redaction for .NET عبر NuGet
  • تحميل مباشر – حمّل تجميعات GroupDocs.Redaction من صفحة GroupDocs.Redaction for .NET 26.6

معرفة المزيد