WarningInfoCollection

WarningInfoCollection class

يمثل مجموعة مكتوبة منWarningInfo الكائنات .

public class WarningInfoCollection : IEnumerable<WarningInfo>, IWarningCallback

المنشئون

اسم وصف
WarningInfoCollection() Default_Constructor

الخصائص

اسم وصف
Count { get; } الحصول على عدد العناصر الموجودة في المجموعة.
Item { get; } الحصول على عنصر بالفهرس المحدد .

طُرق

اسم وصف
Clear() يزيل كل العناصر من المجموعة.
GetEnumerator() إرجاع كائن العداد الذي يمكن استخدامه للتكرار على كافة العناصر في المجموعة.
Warning(WarningInfo) تنفذ ملفIWarningCallback واجهه المستخدم. يضيف تحذيرًا إلى هذه المجموعة .

ملاحظات

يمكنك استخدام كائن المجموعة هذا كأبسط شكل من أشكالIWarningCallbackالتطبيق لجمع جميع التحذيرات التي تولدها Aspose.Words أثناء عملية التحميل أو الحفظ. قم بإنشاء مثيل لهذه الفئة وقم بتعيينه إلى ملفWarningCallback أوWarningCallback منشأه.

أمثلة

يوضح كيفية تعيين الخاصية للعثور على أقرب تطابق لخط مفقود من مصادر الخط المتاحة.

[Test]
public void EnableFontSubstitution()
{
    // افتح مستندًا يحتوي على نص منسق بخط غير موجود في أي من مصادر الخطوط لدينا.
    Document doc = new Document(MyDir + "Missing font.docx");

    // تعيين رد اتصال للتعامل مع تحذيرات استبدال الخط.
    HandleDocumentSubstitutionWarnings substitutionWarningHandler = new HandleDocumentSubstitutionWarnings();
    doc.WarningCallback = substitutionWarningHandler;

    // تعيين اسم الخط الافتراضي وتمكين استبدال الخط.
    FontSettings fontSettings = new FontSettings();
    fontSettings.SubstitutionSettings.DefaultFontSubstitution.DefaultFontName = "Arial";
    ;
    fontSettings.SubstitutionSettings.FontInfoSubstitution.Enabled = true;

    // سنحصل على تحذير بشأن استبدال الخط إذا حفظنا مستندًا بخط مفقود.
    doc.FontSettings = fontSettings;
    doc.Save(ArtifactsDir + "FontSettings.EnableFontSubstitution.pdf");

    using (IEnumerator<WarningInfo> warnings = substitutionWarningHandler.FontWarnings.GetEnumerator())
        while (warnings.MoveNext())
            Console.WriteLine(warnings.Current.Description);

    // يمكننا أيضًا التحقق من التحذيرات في المجموعة ومسحها.
    Assert.AreEqual(WarningSource.Layout, substitutionWarningHandler.FontWarnings[0].Source);
    Assert.AreEqual(
        "Font '28 Days Later' has not been found. Using 'Calibri' font instead. Reason: alternative name from document.",
        substitutionWarningHandler.FontWarnings[0].Description);

    substitutionWarningHandler.FontWarnings.Clear();

    Assert.That(substitutionWarningHandler.FontWarnings, Is.Empty);
}

public class HandleDocumentSubstitutionWarnings : IWarningCallback
{
    /// <summary>
    /// يتم الاتصال به في كل مرة يظهر فيها تحذير أثناء التحميل / الحفظ.
    /// </summary>
    public void Warning(WarningInfo info)
    {
        if (info.WarningType == WarningType.FontSubstitution)
            FontWarnings.Warning(info);
    }

    public WarningInfoCollection FontWarnings = new WarningInfoCollection();
}

أنظر أيضا