درج فیلدها
چندین روش مختلف برای درج فیلدها در یک سند وجود دارد:
- با استفاده از DocumentBuilder
- با استفاده از FieldBuilder
- با استفاده از Aspose.Words Document Object Model (DOM)
در این مقاله، ما به هر یک از روشها با جزئیات بیشتری نگاه میکنیم و نحوه درج فیلدهای خاص با استفاده از این گزینهها را تحلیل میکنیم.
درج فیلدها در یک سند با استفاده از DocumentBuilder
در Aspose.Words از روش insert_field برای درج فیلدهای جدید در یک سند استفاده می شود. پارامتر اول، کد فیلد کامل فیلدی را که قرار است درج شود، می پذیرد. پارامتر دوم اختیاری است و اجازه می دهد تا نتیجه فیلد فیلد به صورت دستی تنظیم شود. اگر این ارائه نشده باشد، فیلد به طور خودکار به روز می شود. برای درج فیلدی با مقدار فیلد خالی، می توانید null یا خالی را به این پارامتر ارسال کنید. اگر در مورد نحو کد فیلد خاص مطمئن نیستید، ابتدا فیلد را در Microsoft Word ایجاد کنید و برای دیدن کد فیلد آن جابجا شوید.
مثال کد زیر نحوه درج یک فیلد ادغام در یک سند را با استفاده از DocumentBuilder نشان می دهد:
مثال کد زیر نحوه درج یک فیلد ادغام با زبان آلمانی را در یک سند با استفاده از DocumentBuilder نشان می دهد:
از همین تکنیک برای درج فیلدهای تو در تو در فیلدهای دیگر استفاده می شود.
مثال کد زیر نحوه درج فیلدهای تو در تو در فیلد دیگر را با استفاده از DocumentBuilder نشان می دهد:
Locale را در سطح فیلد مشخص کنید
شناسه زبان یک مخفف عددی استاندارد بین المللی برای زبان یک کشور یا منطقه جغرافیایی است. با Aspose.Words، می توانید Locale را در سطح فیلد مشخص کنید. ویژگی locale_id شناسه محلی فیلد را دریافت یا تنظیم می کند.
مثال کد زیر نحوه استفاده از این گزینه را نشان می دهد:
فیلد Untyped/Empty را درج کنید
اگر می خواهید فیلدهای بدون تایپ/خالی ({}) را درست همانطور که Microsoft Word اجازه می دهد وارد کنید، می توانید از روش insert_field با پارامتر FieldType.FIELD_NONE استفاده کنید. برای درج یک فیلد در یک سند Word، می توانید ترکیب کلیدهای “Ctrl + F9” را فشار دهید.
مثال کد زیر نحوه درج یک فیلد خالی را در سند نشان می دهد:
درج فیلدها در یک سند با استفاده از FieldBuilder
راه جایگزین برای درج فیلدها در Aspose.Words کلاس FieldBuilder است. این رابط روان برای تعیین سوئیچ های فیلد و مقادیر آرگومان به عنوان متن، گره یا حتی فیلدهای تودرتو فراهم می کند.
مثال کد زیر نحوه درج یک فیلد را با استفاده از FieldBuilder در یک سند نشان می دهد:
درج فیلدها با استفاده از DOM
همچنین می توانید انواع مختلفی از فیلدها را با استفاده از Aspose.Words Document Object Model (DOM) وارد کنید. در این بخش به چند نمونه نگاه می کنیم.
درج فیلد Merge در یک سند با استفاده از DOM
فیلد MERGEFIELD
در سند Word را می توان با کلاس FieldMergeField نشان داد. می توانید از کلاس FieldMergeField برای انجام عملیات زیر استفاده کنید:
- نام فیلد ادغام را مشخص کنید
- قالب بندی فیلد ادغام را مشخص کنید
- متنی را که بین جداکننده فیلد و انتهای فیلد ادغام است مشخص کنید
- در صورت خالی نبودن فیلد، متنی را که باید بعد از فیلد ادغام درج شود، مشخص کنید
- اگر فیلد خالی نباشد، متنی را که باید قبل از فیلد ادغام درج شود، مشخص کنید
مثال کد زیر نحوه اضافه کردن یک فیلد Merge
با استفاده از DOM را به یک پاراگراف در یک سند نشان می دهد:
درج فیلد Mail Merge ADDRESSBLOCK
در یک سند با استفاده از DOM
فیلد ADDRESSBLOCK
برای درج بلوک آدرس mail merge در سند Word استفاده می شود. فیلد ADDRESSBLOCK
در سند Word را می توان با کلاس FieldAddressBlock نشان داد. می توانید از کلاس FieldAddressBlock برای انجام عملیات زیر استفاده کنید:
- مشخص کنید که آیا نام کشور/منطقه در فیلد لحاظ شود یا خیر
- مشخص کنید که آیا آدرس را بر اساس کشور/منطقه گیرنده که توسط POST*CODE تعریف شده است (اتحادیه پست جهانی 2006) قالب بندی شود یا خیر
- نام کشور/منطقه حذف شده را مشخص کنید
- نام و فرمت آدرس را مشخص کنید
- شناسه زبان مورد استفاده برای قالب بندی آدرس را مشخص کنید
مثال کد زیر نحوه اضافه کردن فیلد Mail Merge ADDRESSBLOCK
با استفاده از DOM را به یک پاراگراف در یک سند نشان می دهد:
درج فیلد ADVANCE
در یک سند بدون استفاده از DocumentBuilder
فیلد ADVANCE
برای جابجایی متن بعدی در یک خط به سمت چپ، راست، بالا یا پایین استفاده میشود. فیلد ADVANCE
در سند Word را می توان با کلاس FieldAdvance نشان داد. می توانید از کلاس FieldAdvance برای انجام عملیات زیر استفاده کنید:
- تعداد نقاطی را مشخص کنید که متن زیر فیلد باید به صورت عمودی از لبه بالای صفحه منتقل شود
- تعداد نقاطی را مشخص کنید که متن زیر فیلد باید به صورت افقی از لبه سمت چپ ستون، کادر یا کادر متنی جابجا شود
- تعداد نقاطی را مشخص کنید که متن زیر فیلد باید به چپ، راست، بالا یا پایین منتقل شود
مثال کد زیر نحوه افزودن فیلد ADVANCE
با استفاده از DOM را به یک پاراگراف در یک سند نشان می دهد.
درج فیلد ASK
در یک سند بدون استفاده از DocumentBuilder
فیلد ASK
برای درخواست متن از کاربر برای اختصاص دادن متن به نشانک در سند Word استفاده می شود. فیلد ASK
در سند Word را می توان با کلاس FieldAsk نشان داد. می توانید از کلاس FieldAsk برای انجام عملیات زیر استفاده کنید:
- نام نشانک را مشخص کنید
- پاسخ پیش فرض کاربر را مشخص کنید (مقدار اولیه موجود در پنجره درخواست)
- مشخص کنید که آیا پاسخ کاربر باید یک بار در هر عملیات mail merge دریافت شود یا خیر
- متن درخواست را مشخص کنید (عنوان پنجره درخواست)
مثال کد زیر نحوه اضافه کردن فیلد ASK
با استفاده از DOM را به یک پاراگراف در یک سند نشان می دهد:
درج فیلد AUTHOR
در یک سند بدون استفاده از DocumentBuilder
فیلد AUTHOR
برای تعیین نام نویسنده سند از ویژگی های Document
استفاده می شود. فیلد AUTHOR
در سند Word را می توان با کلاس FieldAuthor نشان داد. می توانید از کلاس FieldAuthor برای انجام عملیات زیر استفاده کنید:
- نام نویسنده سند را مشخص کنید
مثال کد زیر نحوه اضافه کردن فیلد AUTHOR
با استفاده از DOM را به یک پاراگراف در یک سند نشان می دهد:
درج فیلد INCLUDETEXT
در یک سند بدون استفاده از DocumentBuilder
فیلد INCLUDETEXT
متن و گرافیک موجود در سند نامگذاری شده در کد فیلد را درج می کند. می توانید کل سند یا بخشی از سند را که توسط یک نشانک به آن ارجاع شده است وارد کنید. این فیلد در سند Word با INCLUDETEXT نشان داده می شود. می توانید از کلاس FieldIncludeText برای انجام عملیات زیر استفاده کنید:
- نام نشانک سند ارائه شده را مشخص کنید
- محل سند را مشخص کنید
مثال کد زیر نحوه اضافه کردن فیلد INCLUDETEXT
با استفاده از DOM را به یک پاراگراف در یک سند نشان می دهد:
درج فیلد TOA
در یک سند بدون استفاده از DocumentBuilder
فیلد TOA
(Table of Authorities) جدولی از مقامات را می سازد و درج می کند. فیلد TOA
ورودیهایی را جمعآوری میکند که با فیلدهای TA
(Table of Authorities Entry) علامتگذاری شدهاند. Microsoft Office Word وقتی روی Insert Table of Authorities در گروه جدول مقامات در برگه References کلیک می کنید، فیلد TOA
را وارد می کند. هنگامی که فیلد TOA
را در سند خود مشاهده می کنید، نحو به صورت زیر است:
{ TOA
[Switches ] }
می توانید از کلاس FieldToa برای انجام عملیات با فیلد TOA
استفاده کنید.
مثال کد زیر نحوه اضافه کردن فیلد TOA
با استفاده از DOM را به یک پاراگراف در یک سند نشان می دهد: