حقول المعادلات والصيغ
حقول المعادلات والصيغ
هذا الدليل يوضح كيفية العمل مع FieldAdvance and FieldSymbol فئات الحقول في Aspose.Words FOSS لـ .NET، والتي تنفّذ Word’s ADVANCE and SYMBOL الحقول. كلا الفئتين مشتقتان من Field وتنفّذ IFieldCodeTokenInfoProvider; من أجل القاعدة Field نموذج الكائن نفسه، انظر إلى العمل مع الحقول الدليل.
إعادة تموضع النص باستخدام FieldAdvance
FieldAdvance ينفّذ حقل ADVANCE، الذي يحرّك النص التالي له دون إدراج أحرف مرئية. DownOffset وUpOffset وLeftOffset وRightOffset (جميعها string) تنقل النص التالي بعدد من النقاط في ذلك الاتجاه. HorizontalPosition وVerticalPosition (أيضًا string) تنقل النص التالي إلى موضع مطلق يُقاس من الحافة اليسرى للعمود أو الإطار أو مربع النص، ومن الحافة العلوية للصفحة على التوالي.
إدراج الأحرف الخاصة باستخدام FieldSymbol
FieldSymbol ينفّذ حقل SYMBOL، الذي يُدرج حرفًا واحدًا بواسطة نقطة الشيفرة. CharacterCode (سلسلة) تُوفر نقطة شيفرة الحرف بالصيغة العشرية أو الست عشرية. IsAnsi وIsUnicode وIsShiftJis (جميعها منطقية) تحدد كيفية تفسير CharacterCode. FontName وFontSize (سلسلة) يحددان الخط المستخدم لعرض الحرف المسترجع، وDontAffectsLineSpacing (منطقية) تتحكم فيما إذا كان الحرف المدخل يؤثر على تباعد أسطر الفقرة.
نصائح وأفضل الممارسات
- قم بتعيين واحد فقط من
IsAnsiأوIsUnicodeأوIsShiftJisعلىFieldSymbolلتجنب تفسير غامض لـCharacterCode. - خصائص الإزاحة الخاصة بـ
FieldAdvanceهيstring، ليست من الأنواع العددية — يجب تمرير قيم النقاط كسلاسل نصية عند تعيينDownOffsetأوUpOffsetأوLeftOffsetأوRightOffsetأوHorizontalPositionأوVerticalPosition. - قم بتعيين
FieldSymbol.FontNameإلى خط يحتوي فعليًا على الحرف عندCharacterCode، وإلا قد يعود الحرف المعروض إلى عنصر نائب للرمز المفقود. - استدعِ
Update()بعد تعديل أي خاصية علىFieldAdvanceأوFieldSymbolلكي يعكسResult/DisplayResultالخاص بالحقل التغيير. - استخدم
DontAffectsLineSpacingعند إدراج رمز مرتفع أو غير عادي لا ينبغي أن يمد ارتفاع السطر المحيط.
مشكلات شائعة
| المشكلة | السبب | الإصلاح |
|---|---|---|
حقل ADVANCE لا ينقل النص كما هو متوقع | تم تعيين خاصية الإزاحة الخاطئة، أو تُركت قيمة في الإعداد الافتراضي | قم بتعيين خاصية DownOffset / UpOffset / LeftOffset / RightOffset (نسبي) أو HorizontalPosition / VerticalPosition (مطلق) المحددة التي تتطابق مع الحركة المطلوبة |
حقل SYMBOL يعرض الحرف الخاطئ | تم تفسير CharacterCode باستخدام الترميز الخاطئ | حدد واحدًا فقط من IsAnsi أو IsUnicode أو IsShiftJis لتطابق كيفية كتابة CharacterCode |
| حرف الرمز يُعرض كصندوق حرف مفقود | FontName لا يحتوي على glyph لـ CharacterCode | قم بتعيين FontName إلى خط معروف بأنه يتضمن ذلك الحرف |
FAQ
ماذا يفعل حقل ADVANCE؟
يعيد تموضع النص الذي يليه، إما عن طريق إزاحة نسبية (DownOffset, UpOffset, LeftOffset, RightOffset) أو موضع مطلق (HorizontalPosition, VerticalPosition)، دون إدخال أحرف مرئية.
كيف يمكنني إدراج حرف يونيكود محدد باستخدام FieldSymbol؟
اضبط CharacterCode على نقطة شفرة الحرف، واضبط IsUnicode = true، واختياريًا اضبط FontName / FontSize لتصيير الشكل.
هل قيم الإزاحة في FieldAdvance أرقام أم سلاسل؟
إنها خصائص string (DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition, VerticalPosition)، تتطابق مع تنسيق وسيط الحقل البرمجي الخام.
هل يؤثر إدراج حرف SYMBOL على تباعد الأسطر؟
اضبط DontAffectsLineSpacing إلى true لمنع الحرف المُدرج من التأثير على ارتفاع سطر الفقرة.
API Reference ملخص
| فئة/طريقة | وصف |
|---|---|
FieldAdvance | يُنفّذ الحقل ADVANCE; يُعيد تموضع النص التالي دون إدراج أحرف |
FieldAdvance.DownOffset / UpOffset / LeftOffset / RightOffset | إزاحات نقطية نسبية تُطبّق على النص التالي |
FieldAdvance.HorizontalPosition / VerticalPosition | موضع نقطي مطلق يُطبّق على النص التالي |
FieldSymbol | يُنفّذ الحقل SYMBOL; يُدرج حرفًا بنقطة الشيفرة |
FieldSymbol.CharacterCode | نقطة شفرة الحرف، بالصيغة العشرية أو الست عشرية |
FieldSymbol.IsAnsi / IsUnicode / IsShiftJis | يختار كيفية تفسير CharacterCode |
FieldSymbol.FontName / FontSize | الخط المستخدم لعرض الحرف المسترجع |
FieldSymbol.DontAffectsLineSpacing | يتحكم فيما إذا كان الحرف المُدرج يؤثر على تباعد أسطر الفقرة |