Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Створення макета сторінки може бути дорогою процедурою, як з точки зору швидкості, так і з точки зору обсягу пам’яті. Це пояснюється кількома причинами:
NUMPAGES, створюють рекурсивні залежності для майбутніх значень властивостей, які недоступні під час обчислення. Це призводить до повторюваних обчислень і збільшує час обчислення.З вищезазначених причин Aspose.Words створить макет сторінки лише тоді, коли це необхідно. Типовою причиною цього може бути запит на відображення сторінок документа або отримання значення поля, яке залежить від інформації, доступної в макеті сторінки. Менш очевидною причиною може бути експорт документа у формат HTML. Незважаючи на те, що формат HTML не є фіксованим сторінковим форматом і не описує геометрію об’єктів вмісту, він все ще підтримує зображення. Такі зображення можуть бути у вигляді фігур, створених в Microsoft Word, з текстом всередині них. Наприклад, діаграму з мітками осей можна експортувати до HTML Як зображення, але перед цим Aspose.Words потрібно відобразити це зображення і, отже, знати, де відображати мітку. Дивіться приклад діаграми нижче:

Окрім обробки геометричної інформації, макет сторінки також відповідає за обчислення кольорів та стилів меж. У Microsoft Word колір тексту можна встановити автоматично, що означає, що вибір кольору повинен базуватися на кольорі затінення комірки або абзацу або на кольорі сторінки, на якій відображається текст.
Макет сторінки визначає, де відображатиметься текст і який вміст відображатиметься за ним, що дозволяє обчислити колір. Макет сторінки виконує і інші специфічні обчислення. Наприклад, горизонтальна межа в таблиці залежить від того, чи є рядок таблиці останнім у стовпці тексту та розбитий на стовпці. Якщо рядок відображається останнім у стовпці, замість горизонтальної межі використовується нижня межа.

У Aspose.Words користувач може запитати, чи слід створювати новий макет сторінки або оновлювати існуючий. Обидві ці дії можна виконати за допомогою методу UpdatePageLayout, наданого класом Document. Якщо макет сторінки не існує, але в ньому є необхідність (наприклад, при експорті документа в формат фіксованої сторінки), Aspose.Words автоматично викличе цей метод. Однак, якщо макет сторінки вже існує, Aspose.Words використовуватиме існуючий, щоб уникнути витрат ресурсів, необхідних для його оновлення. У цьому випадку користувачеві потрібно викликати метод UpdatePageLayout, щоб переконатися, що макет сторінки відповідає моделі документа.
Процес створення макета сторінки складається з наступних етапів:
Зверніть увагу, що макет сторінки-це динамічна структура, яка може бути частково перебудована. Це особливо необхідно, коли неможливо розрахувати значення полів без перебудови структури макета документа. Поле може вказувати на розташування об’єкта на сторінці, і в той же час саме значення поля також відображається на сторінці, впливаючи на місце розташування об’єкта, на який посилається посилання. Макет сторінки не може бути створений за один раз, оскільки значення полів можуть бути ще недоступні на момент розміщення на сторінці.
Розглянемо типовий сценарій, коли поле NUMPAGES відображається в нижньому колонтитулі першої сторінки документа. Значенням цього поля є загальна кількість сторінок. Щоб розташувати поле на сторінці, необхідно знати його значення. Якщо в даний момент створюється тільки перша сторінка, то загальна кількість сторінок ще невідомо. У цьому випадку макет сторінки повинен використовувати значення за замовчуванням, а потім повернутися до цього поля та змінити його значення відповідно до фактичних розрахунків. Однак зміна значення поля може вплинути на вміст іншого документа на сторінці і в кінцевому підсумку призвести до додавання нової сторінки або видалення існуючої сторінки, що призведе до застарілого обчисленого значення. Цю проблему можна вирішити, надавши можливість оновити існуючий макет сторінки.
При створенні макета також можна налаштувати властивості LayoutOptions, які впливають на виведення документа на сторінки.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.