Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
معمولاً یک فیلد، وقتی در Microsoft Word درج میشود، از قبل حاوی یک مقدار بهروز است. به عنوان مثال، اگر فیلد یک فرمول یا یک شماره صفحه باشد، حاوی یک مقدار محاسبه شده صحیح برای نسخه داده شده سند خواهد بود. اما اگر برنامهای دارید که سندی را با فیلدها تولید یا تغییر میدهد (مثلاً دو سند را ترکیب میکند یا با دادهها پر میکند) برای اینکه سند مفید باشد، همه فیلدها باید بهروزرسانی شوند.
یک فیلد شامل موارد زیر است:

در اینجا نمایه ای از نحوه ذخیره یک فیلد در Aspose.Words با استفاده از مثال “DocumentExplorer” که در Github یافت می شود را مشاهده می کنید.

Aspose.Words یک کتابخانه کلاسی است که برای پردازش اسناد Microsoft Word در سمت سرور طراحی شده است و فیلدها را به روش های زیر پشتیبانی می کند:
فیلدها در اسناد Microsoft Word پیچیده هستند. بیش از 50 نوع فیلد (هر کدام به روش محاسبه نتایج خاص خود نیاز دارند)، فرمول ها و عبارات، نشانک ها و مراجع، توابع و سوئیچ های مختلف وجود دارد. فیلدها نیز می توانند تو در تو باشند. معمولاً وقتی یک سند باز می شود، نتیجه فیلد (مقدار فیلد) برای همه فیلدهای سند نشان داده می شود. با فشار دادن ALT+F9 می توانید نمایش نتیجه فیلد یا کدهای فیلد را در Microsoft Word برای همه فیلدها تغییر دهید.
| کد فیلد | نتیجه میدانی |
|---|---|
![]() |
![]() |
برای درج فیلد در Microsoft Word:




برای به روز رسانی یک فیلد واحد در Microsoft Word:
برای به روز رسانی تمام فیلدها در Microsoft Word:
برای جابجایی کدهای فیلد یک فیلد در Microsoft Word:
برای جابجایی کدهای فیلد همه فیلدها در Microsoft Word:
برای تبدیل یک فیلد پویا به متن ایستا در Microsoft Word:
برای حذف یک فیلد در Microsoft Word:
هنگامی که یک سند در Aspose.Words بارگیری می شود، فیلدهای سند به عنوان مجموعه ای از مؤلفه های جداگانه (گره) در Aspose.Words Document Object Model بارگذاری می شوند. یک فیلد واحد به عنوان مجموعه ای از گره های FieldStart، FieldSeparator و FieldEnd همراه با محتوای بین این گره ها بارگذاری می شود. اگر یک فیلد نتیجه فیلد نداشته باشد، هیچ گره FieldSeparator وجود نخواهد داشت. همه این گره ها همیشه به صورت درون خطی یافت می شوند (به عنوان فرزندان Paragraph یا SmartTag.
محتوایی که کد فیلد را تشکیل می دهد به عنوان گره های Run بین FieldStart و FieldSeparator ذخیره می شود. نتیجه میدان بین گره های FieldSeparator و FieldEnd ذخیره می شود و می تواند از انواع مختلف محتوا تشکیل شود. معمولاً نتیجه فیلد فقط حاوی متنی است که از گرههای Run تشکیل شده است، با این حال ممکن است گره FieldEnd در یک پاراگراف کاملاً متفاوت قرار گیرد و بنابراین نتیجه میدان از گرههای سطح بلوک مانند گرههای Table و Paragraph نیز تشکیل شود.
در Aspose.Words هر یک از گره های FieldXXX از FieldChar مشتق شده اند. این کلاس یک ویژگی برای بررسی نوع فیلد ارائه شده توسط گره مشخص شده از طریق ویژگی FieldChar.field_type فراهم می کند. به عنوان مثال FieldType.FIELD_MERGE_FIELD نشان دهنده یک فیلد ادغام در سند است.
فیلدهای خاصی در سند Word وجود دارند که به عنوان مجموعه ای از گره های FieldXXX به Aspose.Words وارد نمی شوند. به عنوان مثال، فیلد LINK و فیلد INCLUDEPICTURE به عنوان یک شی Shape به Aspose.Words وارد می شوند. این شیء خواصی را برای کار با داده های تصویری که معمولاً در این فیلدها ذخیره می شوند ارائه می دهد.
فیلدهای فرم نیز به عنوان کلاس خاص خود به Aspose.Words وارد می شوند. کلاس FormField یک فیلد فرم را در یک سند Word نشان میدهد و روشهای دیگری را ارائه میکند که مخصوص یک فیلد فرم هستند.
محاسبه فیلدهای زیر در نسخه فعلی Aspose.Words پشتیبانی می شود:
ADDRESSBLOCKAUTHORCOMPARECREATEDATEDATEDOCPROPERTYDOCVARIABLEGREETINGLINEIFINCLUDETEXTMERGEFIELDMERGERECMERGESEQNEXTNEXTIFNUMPAGESPAGEPAGEREFREFSECTIONSECTIONPAGESSEQSETSTYLEREFTIMETITLETOATOC (شامل TOT و TOF)Aspose.Words از روشی پیروی می کند که Microsoft Word فیلدها را پردازش می کند و در نتیجه به درستی مدیریت می کند:
: IF { =OR({ COMPARE { =2.5 +PRODUCT(3,5 ,8.4) } > 4}, { =2/2 }) } = 1 "Credit not acceptable" "Credit acceptable"MERGEFIELD \f"Text after""Field \n\ame with \" and \\\ and \\\*"\bTextBefor\eAspose.Words یک پیاده سازی بسیار جدی از موتور فرمول ارائه می دهد و موارد زیر را پشتیبانی می کند:
=(54+4*(6-77)-(5))+(-6-5)/4/5=ABS(-01.4)+2.645/(5.6^3.5)+776457 \\\# "#,##0"=IF(C>4, 5,ABS(A)*.76) +3.85=00000000 \\\# "$#,##0.00;($#,##0.00)"توابع زیر در عبارات پشتیبانی می شوند: ABS، AND، AVERAGE، COUNT، DEFINED، FALSE، IF، INT، MAX، MIN، MOD، NOT، OR، PRODUCT، ROUND، SIGN، SUM، TRUE.
IF و COMPAREفقط برخی از عبارات IF که Aspose.Words می تواند به راحتی محاسبه کند باید به شما ایده ای از قدرت این ویژگی بدهد:
IF 3 > 5.7^4+MAX(4,3) True FalseIF "abcd" > "abc" True FalseIF "?ab*" = "1abdsg" True FalseIF 4 = "2*2" True FalseCOMPARE 3+5/34 < 4.6/3/2DATE و TIMEAspose.Words از تمام سوئیچهای قالببندی تاریخ و زمان موجود در Microsoft Word پشتیبانی میکند، چند نمونه عبارتند از:
DATE @ "d-MMM-yy"DATE @ "d/MM/yyyy h:mm am/pmAspose.Words هیچ محدودیتی برای پیچیدگی فیلدهای Mail Merge در اسناد شما اعمال نمی کند و از فیلدهای IF و فرمول تودرتو پشتیبانی می کند و حتی می تواند نام فیلد ادغام را با استفاده از یک فرمول محاسبه کند.
چند نمونه از فیلدهای Mail Merge که Aspose.Words پشتیبانی می کند:
MERGEFIELD FirstName \\\\\\\\* FirstCap \b "Mr. "IF { MERGEFIELDValue1 } >= {MERGEFIELD Value2 } True FalseMERGEFIELD { IF{MERGEFIELDValue1 } >= {MERGEFIELD Value2 } FirstName"LastName" }NEXTIF { MERGEFIELDValue1 } <= { =IF(-2.45 >= 6*{MERGEFIELD Value2 }, 2, -.45) }یک فیلد در یک سند میتواند دارای سوئیچهای قالببندی باشد که نحوه قالببندی مقدار حاصل را مشخص میکند. Aspose.Words از سوئیچ های فرمت زیر پشتیبانی می کند:
هنگامی که Aspose.Words یک نتیجه فیلد را محاسبه میکند، اغلب باید یک رشته را به یک عدد یا مقدار تاریخ تجزیه کند و همچنین آن را به یک رشته قالببندی کند. Aspose.Words بهطور پیشفرض از فرهنگ رشته فعلی برای انجام تجزیه و قالببندی هنگام محاسبه مقادیر فیلد در طول بهروزرسانی فیلد استفاده میکند. و mail merge. همچنین گزینه هایی در قالب کلاس FieldOptions ارائه شده است که امکان کنترل بیشتر بر روی اینکه کدام فرهنگ در طول به روز رسانی میدانی استفاده می شود را فراهم می کند.
برای کنترل فرهنگ مورد استفاده در حین محاسبه میدانی، فقط از روش locale.setlocale برای تنظیم فرهنگ انتخابی خود قبل از فراخوانی محاسبه میدان استفاده کنید. مثال زیر نحوه تغییر فرهنگ مورد استفاده در قالب بندی فیلدها را در حین به روز رسانی نشان می دهد.
استفاده از فرهنگ فعلی برای قالببندی فیلدها به یک سیستم اجازه میدهد تا به راحتی و به طور مداوم نحوه قالببندی تمام فیلدهای سند را در طول بهروزرسانی میدانی کنترل کند.
از سوی دیگر، Microsoft Word هر فیلد جداگانه را بر اساس زبان متن موجود در فیلد (به طور خاص اجرا شده از کد فیلد) قالب بندی می کند. گاهی اوقات در حین به روز رسانی فیلد ممکن است این رفتار مطلوب باشد، به عنوان مثال اگر اسناد جهانی شده ای دارید که حاوی محتوایی است که از زبان های مختلف تشکیل شده است و می خواهید هر فیلد به محلی مورد استفاده در متن احترام بگذارد. Aspose.Words نیز از این قابلیت پشتیبانی می کند.
کلاس Document یک ویژگی field_options را ارائه می دهد که حاوی اعضایی است که می توانند برای کنترل نحوه به روز رسانی فیلدها در سند استفاده شوند. مثال زیر نشان می دهد که چگونه می توان فرهنگ مورد استفاده برای قالب بندی تاریخ در طول به روز رسانی فیلد و Mail Merge از کجا انتخاب شود.
فیلدی که با استفاده از DocumentBuilder.insert_field درج می شود یک شی Field را برمی گرداند. این یک کلاس نما است که روش های مفیدی را برای یافتن سریع چنین ویژگی هایی از یک میدان ارائه می دهد. توجه داشته باشید اگر فقط به دنبال نام فیلدهای ادغام در سند هستید، در عوض می توانید از روش داخلی MailMerge.get_field_names استفاده کنید. مثال زیر نحوه دریافت نام تمام فیلدهای ادغام در یک سند را نشان می دهد.
مثال زیر نحوه تغییر نام فیلدهای ادغام در یک سند Word را نشان می دهد.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.