تبدیل به فرمت ثابت صفحه

Aspose.Words موتور صفحه خود را پیاده سازی می کند. قبل از جدا کردن مشخصات آن، بحث در مورد سند در سطح بالا ارزشمند است. هنگام فکر کردن در مورد یک سند، کاربران به طور معمول تعدادی از ورق های کاغذی حاوی کلمات، تصاویر، جداول و نمودارها را تصور می کنند. اسناد می توانند از انواع مختلف مانند متن، صفحات گسترده، اسلاید ها، نقاشی های CAD، Flowcharts باشند و بنابراین می توانند اساسا طرح های مختلف داشته باشند. اکثر برنامه ها اجازه می دهند تا اسناد را به یک چاپگر ارسال کنند؛ این زمانی است که کاربر می تواند ظاهر نهایی مورد نظر سند را مشاهده کند.

نمایش یک سند در برنامه های مختلف

برنامه های مختلف مشاهده سند یا انتشار اجازه می دهد تا کاربران باز شوند (Adobe Acrobat, XPS بازدید کننده، و گاهی اوقات ویرایش (Adobe InDesign) اسناد فرمت های خاص. این برنامه ها به طور معمول اسناد فرمت “fixed-page” را تولید می کنند. این فرمت سند دقیقاً شرح می دهد که محتوای سند در هر صفحه قرار می گیرد. به صورت داخلی، PDF یا XPS فرمت شامل شرح هر صفحه، و همچنین دستورالعمل های نقاشی، مشخص کردن طرح محتوا در صفحه است. این شبیه به فرمت های تصویر است، توصیف جایی که محتوا در فرم راستر یا بردار نشان داده می شود.

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

برنامه های ویرایش متن پیچیده تر، مانند Microsoft Wordپد، ذخیره سند در فرمت متن غنی (RTF)، که پشتیبانی از توابع قالب بندی بیشتر، مانند قرار دادن تصاویر، قالب بندی شخصیت، حاشیه پاراگراف و فاصله. با این حال، فرمت RTF فقط شامل محتوای سند است و هیچ اطلاعاتی در مورد صفحات ندارد.

Microsoft Word پیشرفته ترین برنامه ویرایش متن در Windows امروز این فایل ها را در فرمت DOCX فرمت می کند، که محتوای سند را به صورت انعطاف پذیر و گسترده توصیف می کند، به کاربران اجازه می دهد تا اندازه صفحه، جهت گیری برای یک بخش سند را مشخص کنند، و یک برنامه WYSIWYG حتی صفحات سند را روی صفحه نمایش نشان دهد. با این وجود، هنوز هیچ اطلاعاتی در مورد چگونگی نمایش محتوای سند در صفحات موجود در فایل سند وجود ندارد. فایل سند فقط خود محتوا و ارتباط اشیاء سند را به یکدیگر، همراه با برخی از محدودیت های هندسی توصیف می کند. در نتیجه، قبل از نمایش یک سند، Microsoft Word خود این اطلاعات را محاسبه می کند. این جایی است که یک طرح صفحه وارد بازی می شود.

Page Set چیست

طرح صفحه سند یک ساختار داده است، توصیف جایی که یک شی خاص در صفحات برای همه اشیاء سند قرار دارد. علاوه بر این، از آنجا که اشیاء دارای خواصی هستند که بر ظاهر آنها تأثیر می گذارند، مانند اندازه فونت، سایه یا جلوه های نقاشی، شما باید نه تنها بدانید که شی کجاست، بلکه چه منطقه ای (s) صفحه ای را اشغال می کند، و آیا آن را به چندین صفحه اعمال می کند تا اشیاء دیگر در همان منطقه (بازدید کنندگان) همپوشانی نداشته باشند.

Aspose.Words پیاده سازی قابلیت های صفحه طرح داخلی آن را قادر می سازد تا تمام فرمت های صفحه ثابت مانند PDF را تولید کند. XPS, و فرمت های مختلف تصویر بدون طرح صفحه، اطلاعات ذخیره شده در فایل سند صفحه ثابت در دسترس نخواهد بود و تمام این فرمت ها پشتیبانی نخواهد شد.

رابطه بین یک سند و یک طرح صفحه کاملا ساده است. در حالی که یک سند محتوا را توصیف می کند، طرح صفحه مربوطه هندسه آن محتوا را توصیف می کند. توجه داشته باشید که یک طرح صفحه بدون یک سند وجود ندارد زیرا هیچ محتوایی برای محاسبه هندسه وجود ندارد، اما یک سند می تواند بدون طرح صفحه وجود داشته باشد. به عنوان مثال، هنگامی که یک سند DOCX به یک سند RTF تبدیل می شود، به طور معمول غیر ضروری است که هندسه را بدانید، زیرا نه فرمت آن را ذخیره می کند.

ایجاد یک صفحه

ایجاد یک طرح صفحه می تواند یک روش پر هزینه، هر دو از نظر سرعت و حافظه باشد. این به چند دلیل است:

  • این سند ممکن است محتوای زیادی داشته باشد که ممکن است در هزاران صفحه نمایش داده شود. هندسه هر شی در هر صفحه باید توصیف شود، مصرف منابع حافظه.
  • این سند ممکن است قوانین زیادی داشته باشد، محدودیت های قرار دادن در هندسه. زمان محاسباتی قابل ملاحظه ممکن است صرف شود و اطمینان حاصل شود که هر محدودیت رضایت دارد
  • برخی از ویژگی های سند، به عنوان مثال، NUMPAGES زمینه، ایجاد وابستگی های بازگشتی برای ارزش های مالکیت آینده، که در زمان محاسبه در دسترس نیست. این منجر به محاسبات تکراری می شود و در زمان محاسبه اضافه می شود.

با توجه به دلایل فوق، Aspose.Words فقط زمانی که لازم است یک صفحه ایجاد کنید. یک دلیل معمول برای این کار درخواست ارائه صفحات سند یا به دست آوردن یک ارزش فیلد است که بستگی به اطلاعات موجود در طرح صفحه دارد. یک دلیل کمتر آشکار می تواند یک سند را به HTML صادر کند. اگرچه HTML یک فرمت ثابت صفحه ای نیست و هندسه اشیاء محتوا را توصیف نمی کند، اما هنوز از تصاویر پشتیبانی می کند. این تصاویر ممکن است به شکل شکل شکل های ایجاد شده در آن باشند. Microsoft Word متن داخل آنها به عنوان مثال، یک نمودار با برچسب های محور می تواند به HTML به عنوان یک تصویر صادر شود، اما قبل از انجام این کار می تواند انجام شود. Aspose.Words باید این تصویر را ارائه دهید و از این رو باید بدانید که برچسب را کجا نمایش دهید. مثال زیر را ببینید:

converting-to-fixed-page-format-aspose-words-

غیر هندسی املاک

علاوه بر انجام اطلاعات هندسی، طرح صفحه نیز مسئول محاسبه رنگ ها و سبک های مرزی است. In In In Microsoft Word, رنگ متن را می توان به عنوان خودکار مشخص کرد، به این معنی که انتخاب رنگ باید بر اساس رنگ سایه دار سلول یا پاراگراف، یا بر اساس رنگ صفحه، که در آن متن ظاهر می شود.

طرح صفحه محاسبه می کند که در آن متن ظاهر خواهد شد و چه محتوا در پشت آن ارائه خواهد شد، امکان محاسبه رنگ. سایر محاسبات خاص انجام شده توسط طرح صفحه وجود دارد. به عنوان مثال، یک مرز افقی در یک جدول بستگی به این دارد که آیا یک ردیف جدول در یک ستون از متن قرار دارد و اینکه آیا در ستون شکسته می شود. اگر یک ردیف در یک ستون قرار گیرد، مرز پایین به جای افقی استفاده می شود.

non_geometric_properties_aspose-words-java

In In In <span notrans="<span notrans=" Aspose.Words"="">"> یک کاربر می تواند درخواست کند که آیا یک طرح صفحه جدید ایجاد کند یا یک صفحه موجود را به روز کند. هر دو می توانند توسط [UpdatePageLayout](https://reference.aspose.com/words/java/com.aspose.words/document/#updatePageLayout()روش، ارائه شده توسط Document کلاس اگر طرح صفحه ای وجود نداشته باشد، اما نیاز به آن وجود دارد (به عنوان مثال، هنگامی که سند به فرمت ثابت صفحه صادر می شود)، Aspose.Words به طور خودکار این روش را می نامند. با این حال، اگر یک طرح صفحه وجود داشته باشد، Aspose.Words از موجود برای جلوگیری از مصرف منابع لازم برای به روز رسانی آن استفاده کنید. در این مورد، کاربر باید تماس بگیرد UpdatePageLayout روش، برای اطمینان از اینکه طرح صفحه تا به امروز با مدل سند مطابقت دارد.

ساختار دینامیک

فرآیند ایجاد طرح صفحه شامل مراحل زیر است:

  • Conversion - جمع آوری محتوا از مدل سند و آماده سازی اشیاء طرح مربوطه.
  • Build - تنظیم اشیاء طرح برای نشان دادن محتوای سند در صفحات.
  • Reflow - به روز رسانی آرایش اشیاء برای رفع محدودیت های هندسی.
    • پروژه سازی اشیاء در ارائه صفحه ثابت و نهایی کردن اطلاعات رنگی *
    • ساخت و گردش محتوای شکل * - یک گام مورد نیاز اگر سند شامل اشکال با محتوای متن لانه.

توجه داشته باشید که طرح صفحه یک ساختار پویا است که می تواند تا حدودی بازسازی شود. این به ویژه زمانی مورد نیاز است که محاسبه ارزش های میدانی بدون بازسازی ساختار طرح سند غیر ممکن است. این زمینه می تواند محل یک شی را در یک صفحه ارجاع دهد و در عین حال خود ارزش زمینه نیز در صفحه ارائه می شود که بر محل شیء مرجع تأثیر می گذارد. یک طرح صفحه را نمی توان در یک مرحله ساخت، زیرا ممکن است هنوز در زمان قرار دادن در یک صفحه در دسترس نباشد.

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

هنگام ایجاد یک طرح، ممکن است تنظیم شود. LayoutOptions خواصی که بر خروجی سند در صفحات تاثیر می گذارد.

صرفه جویی در فرمت ثابت صفحه

پس از ساخت صفحه و هندسه اشیاء و موقعیت آنها در صفحه محاسبه می شود، این سند می تواند در فرمت ثابت صفحه ای که توسط پشتیبانی می شود ذخیره شود. Aspose.Words… هنگام صرفه جویی در اسناد به فرمت های ثابت صفحه، گزینه های رندر مشترک برای همه این فرمت ها می تواند مورد استفاده قرار گیرد. اجازه می دهند کنترل کنند:

مثال زیر نشان می دهد که چگونه یک سند را به فرمت JPEG ذخیره کنیم. Save گزینه های روش و ارائه: