Mail Merge با مناطق

شما می توانید مناطق مختلف را در قالب خود ایجاد کنید تا مناطق خاصی داشته باشید که می توانید به سادگی با داده های خود پر کنید. اگر می خواهید جدول ها، ردیف هایی با داده های تکراری را وارد کنید، از Mail Merge با مناطق استفاده کنید تا اسناد خود را با مشخص کردن آن مناطق در قالب خود به طور پویا رشد دهید.

شما می توانید مناطق آشیانه ای (کودک) و همچنین مناطق ادغام ایجاد کنید. مزیت اصلی استفاده از این نوع افزایش پویا قطعات داخل یک سند است. جزئیات بیشتر را در مقاله بعدی “Nested Mail Merge with Regions"مشاهده کنید.

نحوه اجرای Mail Merge با مناطق

منطقه Mail Merge یک بخش خاص در داخل یک سند است که دارای نقطه شروع و نقطه پایان است. هر دو نقطه به عنوان فیلد های Mail Merge که نام های خاص “TableStart:XXX” و “TableEnd:XXX” دارند، نشان داده می شوند. تمام محتوایی که در یک منطقه Mail Merge گنجانده شده است به طور خودکار برای هر رکورد در منبع داده تکرار می شود.

Aspose.Words به شما اجازه می دهد تا Mail Merge را با مناطق با استفاده از یکی از روش های ExecuteWithRegions که منبع داده سفارشی IMailMergeDataSource را قبول می کند، اجرا کنید.

مثال کد زیر نشان می دهد که چگونه Mail Merge را با مناطق از پایگاه داده sqlite با SQLiteCpp:

شما می توانید تفاوت بین سند را قبل از اجرای Mail Merge با مناطق مشاهده کنید:

mail_merge_with_regions_template

و پس از اجرای Mail Merge با مناطق:

mail_merge_with_regions_execute

محدودیت های Mail Merge با مناطق

برخی از نکات مهم وجود دارد که شما باید در هنگام انجام یک Mail Merge با مناطق در نظر بگیرید:

  • نقطه شروع TableStart:Orders و نقطه پایان TableEnd:Orders هر دو باید در یک ردیف یا سلول باشند. به عنوان مثال، اگر یک منطقه ادغام را در یک سلول جدول شروع کنید، باید منطقه ادغام را در همان ردیف سلول اول پایان دهید. نام فیلد ادغام باید با نام ستون در DataTable شما مطابقت داشته باشد. مگر اینکه فیلد های نقشه برداری شده را مشخص کنید ،mail merge با مناطق برای هر فیلد ادغام که نام دیگری به جز نام ستون دارد موفق نخواهد شد.
  • Aspose.Words برای C++ فقط از منابع داده مبتنی بر IMailMergeDataSource و IMailMergeDataSourceRoot پشتیبانی می کند. برخلاف .NET و Java، C++ برای کار با پایگاه داده ها (مانند ADODB، ODBC یا JDBC) یک سیستم عامل متقابل پذیرفته شده API ندارد. برای کار با یک منبع داده خاص، باید رابط IMailMergeDataSource یا IMailMergeDataSourceRoot را پیاده سازی کنید.

اگر یکی از این قوانین شکسته شود، نتایج غیر منتظره ای خواهید داشت یا ممکن است استثنا ایجاد شود.