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.AreEqual(0, substitutionWarningHandler.FontWarnings.Count);
}

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

    public WarningInfoCollection FontWarnings = new WarningInfoCollection();
}

أنظر أيضا