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 ملكية.

أمثلة

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

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.LayoutOptions.KeepOriginalFontMetrics = 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();
}

أنظر أيضا