زمینه های به روز رسانی

به طور معمول، یک فیلد وارد شده به Microsoft Word در حال حاضر حاوی یک مقدار به روز است. به عنوان مثال، اگر فیلد یک فرمول یا یک شماره صفحه باشد، حاوی مقدار محاسبه شده صحیح برای نسخه داده شده سند خواهد بود. اما اگر برنامه ای دارید که یک سند را با زمینه هایی مانند ادغام دو سند یا پر کردن آن با داده ها تولید یا اصلاح می کند، در حالت ایده آل همه زمینه ها باید به روز شوند تا سند مفید باشد.

چگونه فیلد ها را به روز کنیم

هنگامی که یک سند بارگذاری می شود، Aspose.Words رفتار Microsoft Word را با گزینه به طور خودکار به روز رسانی فیلد ها خاموش می شود. رفتار را می توان به شرح زیر خلاصه کرد:

  • وقتی یک سند را باز می کنید/ذخیره می کنید، فیلد ها دست نخورده باقی می مانند
  • شما می توانید به طور صریح تمام فیلد های یک سند را به روز کنید، به عنوان مثال، TOC را بازسازی کنید، زمانی که شما نیاز به
  • وقتی به PDF یا XPS رندر می کنید، فیلد های مربوط به شماره گذاری صفحه در سرصفحه ها / پای صفحه ها به روز می شوند
  • وقتی mail merge را اجرا می کنید، تمام فیلد ها به طور خودکار به روز می شوند

به روز رسانی فیلد ها به صورت برنامه نویسی

برای به روز رسانی صریح فیلد ها در کل سند، به سادگی روش UpdateFields را فراخوانی کنید. برای به روز رسانی فیلد های موجود در بخشی از یک سند، یک شی Range را بدست آورید و روش UpdateFields را فراخوانی کنید. در Aspose.Words، شما می توانید یک Range برای هر گره در درخت سند، مانندSection, HeaderFooter, Paragraph, و غیره با استفاده از خاصیت Node.Range شما می توانید نتیجه یک فیلد را با فراخوانی روش Update به روز کنید.

به روز رسانی خودکار فیلد های مرتبط با صفحه در هنگام رندر

هنگامی که شما تبدیل یک سند به یک فرمت صفحه ثابت را اجرا می کنید، به عنوان مثال به PDF یا XPS، سپس Aspose.Words به طور خودکار زمینه های مربوط به طرح بندی صفحه PAGE، PAGEREF را که در سرصفحه ها/پای صفحه سند یافت می شود، به روز می کند. این رفتار رفتار Microsoft Word را هنگام چاپ یک سند تقلید می کند.

اگر می خواهید تمام زمینه های دیگر سند را به روز کنید، قبل از ارائه سند باید با UpdateFields تماس بگیرید.

مثال کد زیر نشان می دهد که چگونه تمام فیلد ها را قبل از ارائه یک سند به روز کنیم:

به روز رسانی خودکار میدان در طول Mail Merge

وقتی یک mail merge را اجرا می کنید، تمام فیلد های سند به طور خودکار به روز می شوند. این به این دلیل است که mail merge یک مورد از یک به روز رسانی میدان است. این برنامه با یک فیلد mail merge مواجه می شود و باید نتیجه خود را به روز کند، که شامل گرفتن مقدار از منبع داده و قرار دادن آن در فیلد است. البته منطق پیچیده تر است، به عنوان مثال، هنگامی که به پایان سند/mail merge منطقه رسیده است اما هنوز داده های بیشتری برای ادغام وجود دارد، سپس منطقه باید تکرار شود و مجموعه جدید زمینه ها به روز شود.

به روز رسانی LastSavedTime اموال قبل از صرفه جویی

شما می توانید از UpdateLastSavedTimeProperty property استفاده کنید که آیا ملک سند داخلی مربوطه LastSavedTime را هنگام ذخیره سند به روز کنید.

مثال کد زیر نشان می دهد که چگونه این ویژگی را به روز کنیم: