فیلدهای خودکار سند (IF، COMPARE، MACROBUTTON و موارد دیگر)
فیلدهای خودکارسازی سند (IF, COMPARE، و بیشتر)
این راهنما نشان میدهد چگونه با خانواده فیلدهای خودکارسازی سند ورد کار کنید در Aspose.Words FOSS برای .NET – فیلدهایی که متن شرطی را هدایت میکنند، متغیرهای سطح سند را ذخیره مینمایند، و ماکروها، ناوبری و رفتار چاپ را بههم میپیوندند، بهجای این که فقط یک مقدار محاسبهشده را نمایش دهند. هر یک یک Field زیرکلاس در Aspose.Words.Fields فضای نام: FieldIf, FieldCompare, FieldDocVariable, FieldGoToButton, FieldMacroButton, و FieldPrint. همهٔ آنها هستهٔ Field اعضای توصیفشده در کار با فیلدها – GetFieldCode(), Update(), Remove(), Unlink(), Start/Separator/End, Result, و Format – این صفحه آنچه بهطور خاص برای هر یک است را پوشش میدهد.
متن شرطی با FieldIf
FieldIf پیادهسازی میکند IF فیلد. LeftExpression, ComparisonOperator, و RightExpression شرط را توصیف میکند – همان ساختار سه بخشی که توسط IComparisonExpressionEvaluator (ببینید کار با فیلدها) – و TrueText / FalseText دو نتیجهٔ ممکن را نگه میدارد. فراخوانی EvaluateCondition() برای ارزیابی مستقیم شرط؛ یک مقدار برمیگرداند FieldIfComparisonResult مقدار: True, False, یا Error.
مقایسهٔ مقادیر با FieldCompare
FieldCompare فیلد COMPARE را پیادهسازی میکند. مشابه FieldIf، LeftExpression، ComparisonOperator و RightExpression را برای توصیف مقایسه در دسترس میگذارد، اما بهجای جابجایی بین دو متن جایگزین، نتیجهای به سبک بولی تولید میکند.
متغیرهای سند با FieldDocVariable
FieldDocVariable فیلد DOCVARIABLE را پیادهسازی میکند و یک متغیر تعریفشده در محدوده سند را از طریق ویژگی VariableName آن میخواند.
دکمهها: FieldGoToButton و FieldMacroButton
FieldGoToButton فیلد GOTOBUTTON را پیادهسازی میکند: Location نام نشانک، صفحه یا مقصد دیگری که باید به آن پرش شود را تعیین میکند و DisplayText برچسبی است که در سند نمایش داده میشود. FieldMacroButton فیلد MACROBUTTON را پیادهسازی میکند: MacroName نام ماکرویی را که باید اجرا شود مشخص میکند و DisplayText برچسب است. هر دو FieldIf و FieldMacroButton علاوه بر این، IMergeFieldSurrogate را نیز پیادهسازی میکنند، این رابطی است که فیلدهای آگاه از ادغام نامه در ورد برای علامتگذاری خود بهعنوان محتوای قابل جایگزینی استفاده میکند.
دستورات چاپ با FieldPrint
FieldPrint فیلد PRINT را پیادهسازی میکند: PrinterInstructions و PostScriptGroup حاوی دستورالعملهای خاص چاپگر هستند که بهصورت مستقیم در سند جاسازی میشوند.
نکات و بهترین روشها
- از
FieldIf.EvaluateCondition()برای خواندن نتیجهٔ یک شرط (FieldIfComparisonResult) استفاده کنید بدون اینکه نیاز به تجزیهٔTrueText/FalseTextداشته باشید. FieldCompareوFieldIfشکلLeftExpression/ComparisonOperator/RightExpressionیکسانی را به اشتراک میگذارند – کدی که یک عبارت مقایسهای را میسازد یا بررسی میکند میتواند در هر دو نوع فیلد مورد استفاده مجدد قرار گیرد.- به یاد داشته باشید که اینها همگی
Fieldزیرکلاسها:GetFieldCode(),Update(),Remove(), وUnlink()from کار با فیلدها دقیقاً به همان شکل در اینجا اعمال میشود.
مسائل رایج
| مشکل | دلیل | رفع |
|---|---|---|
FieldIf.EvaluateCondition() برمیگرداند Error | عملوندها یا عملگر شرط بهصورت نوشته شده قابل ارزیابی نبودند | مقدارهای LeftExpression، ComparisonOperator و RightExpression را برای صحت بررسی کنید |
نتیجه FieldDocVariable مقدار متغیر مورد انتظار را نشان نمیدهد | VariableName با نام متغیری که واقعاً در سند وجود دارد مطابقت ندارد | قبل از خواندن Result، نام دقیق متغیر و وجود آن را تأیید کنید |
FieldGoToButton/FieldMacroButton متن نمایشی با آنچه Word نشان میدهد مطابقت ندارد | DisplayText قبل از بهروزرسانی فیلد خوانده شد، یا بدون یک فراخوانی Update() مطابقتدار تنظیم شد | در فیلد Update() را فراخوانی کنید، یا پس از هر تغییری DisplayText را دوباره بخوانید |
FAQ
چگونه میتوانم نتیجهی فیلد شرطی IF را بخوانم؟
برای دریافت FieldIfComparisonResult خام، FieldIf.EvaluateCondition() را فراخوانی کنید، یا TrueText / FalseText را بخوانید تا دو متن حرفی جایگزین که فیلد بین آنها سوئیچ میکند، بدست آورید.
تفاوت بین FieldIf و FieldCompare چیست؟
FieldIf (فیلد IF) بر اساس شرط خود بین TrueText و FalseText سوئیچ میکند. FieldCompare (فیلد COMPARE) شکل مقایسهای مشابهی دارد اما به جای متن جایگزین، نتیجهای به سبک بولی تولید میکند.
چگونه میتوانم نام متغیر سند را از فیلد DOCVARIABLE بخوانم؟
خواندن FieldDocVariable.VariableName.
چگونه میتوانم مقصد یک فیلد GOTOBUTTON را پیدا کنم؟
خواندن FieldGoToButton.Location; DisplayText برچسبی را که برای دکمه در سند نمایش داده میشود، میدهد.
API Reference خلاصه
| کلاس / شمارش | توضیح |
|---|---|
FieldIf | IF فیلد; LeftExpression, ComparisonOperator, RightExpression, TrueText, FalseText, EvaluateCondition() |
FieldIfComparisonResult | نتیجه Enum از FieldIf.EvaluateCondition(): True, False, Error |
FieldCompare | COMPARE فیلد; LeftExpression, ComparisonOperator, RightExpression |
FieldDocVariable | DOCVARIABLE فیلد؛ VariableName |
FieldGoToButton | GOTOBUTTON فیلد؛ Location، DisplayText |
FieldMacroButton | MACROBUTTON فیلد؛ MacroName، DisplayText |
FieldPrint | PRINT فیلد؛ PrinterInstructions، PostScriptGroup |