MathObjectType
محتويات
[
يخفي
]MathObjectType enumeration
يحدد نوع كائن Office Math.
public enum MathObjectType
قيم
اسم | قيمة | وصف |
---|---|---|
OMath | 0 | مثال للنص الرياضي. |
OMathPara | 1 | فقرة رياضية، أو منطقة عرض رياضية، تحتوي على فقرة رياضية واحدة أو أكثرOMath العناصر الموجودة في وضع العرض. |
Accent | 2 | دالة التشكيل، تتكون من قاعدة وعلامة تشكيلية مركبة. |
Bar | 3 | دالة Bar، تتكون من وسيطة أساسية وشريط علوي أو شريط سفلي. |
BorderBox | 4 | كائن Border Box، يتكون من حدود مرسومة حول مثيل من النص الرياضي (مثل الصيغة أو المعادلة) |
Box | 5 | كائن مربع، يستخدم لتجميع مكونات معادلة أو مثيل آخر للنص الرياضي. |
Delimiter | 6 | كائن فاصل يتكون من فواصل فتح وإغلاق (مثل الأقواس، وأقواس ، والأقواس المربعة، والأشرطة الرأسية)، وعنصر موجود بداخله. |
Degree | 7 | درجة في الجذر الرياضي. |
Argument | 8 | كائن وسيطة . يُغلِق كيانات Office Math عند استخدامها كوسائط لكيانات Office Math أخرى. |
Array | 9 | كائن مصفوفة يتكون من معادلة واحدة أو أكثر أو تعبير أو نص رياضي آخر يعمل ويمكن محاذاته رأسياً كوحدة بالنسبة للنص المحيط على السطر. |
Fraction | 10 | كائن كسري، يتكون من بسط ومقام مفصولين بشريط كسري. |
Denominator | 11 | مقام الكسر. |
Numerator | 12 | بسط كائن الكسر. |
Function | 13 | كائن تطبيق الوظيفة، والذي يتكون من اسم الوظيفة وعنصر الحجة الذي تم التصرف عليه. |
FunctionName | 14 | اسم الدالة. على سبيل المثال، أسماء الدوال هي: sin وcos. |
GroupCharacter | 15 | كائن مجموعة الأحرف، يتكون من حرف مرسوم أعلى أو أسفل النص، غالبًا بغرض تجميع العناصر بصريًا |
Limit | 16 | الحد الأدنى لـLowerLimit الكائن و الحد الأعلى لـUpperLimit دالة. |
LowerLimit | 17 | كائن الحد الأدنى، يتكون من نص على خط الأساس ونص بحجم مخفض أسفله مباشرة. |
UpperLimit | 18 | كائن الحد الأعلى، يتكون من نص على خط الأساس ونص بحجم مخفض أعلى منه مباشرة. |
Matrix | 19 | كائن مصفوفة يتكون من عنصر واحد أو أكثر موزعة في صف واحد أو أكثر وعمود واحد أو أكثر. |
MatrixRow | 20 | صف واحد من المصفوفة. |
NAry | 21 | كائن N-ary، يتكون من كائن N-ary، وقاعدة (أو متغير)، وحدود علوية وسفلية اختيارية. |
Phantom | 22 | كائن شبحي. |
Radical | 23 | كائن جذري، يتكون من جذر وعنصر أساسي ودرجة اختيارية . |
SubscriptPart | 24 | مؤشر الكائن الذي يمكن أن يحتوي على جزء مؤشر. |
SuperscriptPart | 25 | أعلى الكائن العلوي. |
PreSubSuperscript | 26 | كائن ما قبل النص العلوي الفرعي، والذي يتكون من عنصر أساسي ونص سفلي ونص علوي موضوعين على يسار القاعدة. |
Subscript | 27 | كائن فرعي، يتكون من عنصر أساسي ونص برمجي بحجم مخفض موضوع أسفله وإلى اليمين. |
SubSuperscript | 28 | كائن علوي فرعي، يتكون من عنصر أساسي، ونص مخفض الحجم موضوع أسفله وإلى اليمين، ونص مخفض الحجم موضوع أعلىه وإلى اليمين. |
Supercript | 29 | كائن علوي، يتكون من عنصر أساسي ونص بحجم مخفض موضوع أعلى وإلى اليمين. |
أمثلة
يوضح كيفية طباعة بنية العقدة لكل عقدة رياضيات مكتبية في مستند.
public void OfficeMathToText()
{
Document doc = new Document(MyDir + "DocumentVisitor-compatible features.docx");
OfficeMathStructurePrinter visitor = new OfficeMathStructurePrinter();
// عندما نحصل على عقدة مركبة لقبول زائر مستند، يقوم الزائر بزيارة العقدة المستقبلة،
// ثم يمر عبر جميع أبناء العقدة بطريقة العمق أولاً.
//يمكن للزائر قراءة وتعديل كل عقدة تمت زيارتها.
doc.Accept(visitor);
Console.WriteLine(visitor.GetText());
}
/// <summary>
/// يجتاز شجرة العقد غير الثنائية المكونة من عقد فرعية.
/// إنشاء خريطة في شكل سلسلة من جميع عقد OfficeMath التي تمت مواجهتها وأطفالها.
/// </summary>
public class OfficeMathStructurePrinter : DocumentVisitor
{
public OfficeMathStructurePrinter()
{
mBuilder = new StringBuilder();
mVisitorIsInsideOfficeMath = false;
}
/// <summary>
/// يحصل على النص العادي للمستند الذي جمعه الزائر.
/// </summary>
public string GetText()
{
return mBuilder.ToString();
}
/// <summary>
/// يتم استدعاؤها عند مواجهة عقدة تشغيل في المستند.
/// </summary>
public override VisitorAction VisitRun(Run run)
{
if (mVisitorIsInsideOfficeMath) IndentAndAppendLine("[Run] \"" + run.GetText() + "\"");
return VisitorAction.Continue;
}
/// <summary>
/// يتم استدعاؤها عند مواجهة عقدة OfficeMath في المستند.
/// </summary>
public override VisitorAction VisitOfficeMathStart(OfficeMath officeMath)
{
IndentAndAppendLine("[OfficeMath start] Math object type: " + officeMath.MathObjectType);
mDocTraversalDepth++;
mVisitorIsInsideOfficeMath = true;
return VisitorAction.Continue;
}
/// <summary>
/// يتم استدعاؤها بعد زيارة جميع العقد الفرعية لعقدة OfficeMath.
/// </summary>
public override VisitorAction VisitOfficeMathEnd(OfficeMath officeMath)
{
mDocTraversalDepth--;
IndentAndAppendLine("[OfficeMath end]");
mVisitorIsInsideOfficeMath = false;
return VisitorAction.Continue;
}
/// <summary>
/// أضف سطرًا إلى StringBuilder وقم بتدويره وفقًا لمدى عمق الزائر في شجرة المستند.
/// </summary>
/// <اسم المعلمة="نص"></param>
private void IndentAndAppendLine(string text)
{
for (int i = 0; i < mDocTraversalDepth; i++) mBuilder.Append("| ");
mBuilder.AppendLine(text);
}
private bool mVisitorIsInsideOfficeMath;
private int mDocTraversalDepth;
private readonly StringBuilder mBuilder;
}
أنظر أيضا
- مساحة الاسم Aspose.Words.Math
- المجسم Aspose.Words