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();
}
أنظر أيضا
- class WarningInfo
- interface IWarningCallback
- مساحة الاسم Aspose.Words
- المجسم Aspose.Words