GroupDocs.Redaction for .NET 26.6 متاح الآن. يسهّل هذا الإصدار فتح المستندات من التدفقات والملفات مع تحديد صريح للتنسيق، ويقدّم واجهة برمجة تطبيقات رسم جديدة مستقلة عن 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 للاستخدام في واجهة البرمجة العامة. تقبل التحميلات الجديدة هذه الأنواع في ReplacementOptions، RegionReplacementOptions، ImageAreaRedaction، PageAreaFilter، TextFragment، والفئات ذات الصلة.

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

تغييرات API العامة

المضافة

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

المهملة

  • 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.doc