Перетворення у формат Фіксованого сторінки

Aspose.Words здійснює власний макет сторінки двигуна. Перед тим, як продемонструвати свої технічні характеристики, варто спочатку обговорити документ на високому рівні. Коли мислити про документ, користувачі зазвичай уявляють ряд аркушів паперу, що містять слова, зображення, таблиці та діаграми. Документи можуть бути різними типами, такими як текст, таблиці, слайди, малюнки САД, витратні матеріали та, отже, можуть мати істотно різні макети. Більшість додатків дозволяють надсилати документи на принтер; це коли користувач може фактично переглядати кінцевий вигляд документа.

Відобразити документ у різних додатках

Різні програми перегляду або публікації документів дозволяють користувачам відкрити (Adobe Acrobat, XPS Переглядайте, а іноді редагуйте (Adobe InDesign) документи окремих форматів. Ці додатки, як правило, виробляють так звані “фіксовані” документи формату. Цей формат документа описує, де вміст документа розміщений на кожній сторінці. Внутрішня, PDF або XPS Формат містить опис кожної сторінки, а також інструкції з малювання, вказавши макет змісту на сторінці. Це схоже на формати зображень, що описує, де вміст відображається як у растровій або векторній формі.

На відміну від деяких додатків редагування тексту не підтримують перегляд сторінок документа. Наприклад, Microsoft Блокнот підтримує дуже кілька функцій, крім просто відображення, редагування та друку тексту. Важливе спостереження за цими додатками не можуть показувати сторінки документа, а не розповісти користувача, скільки їх буде друкувати, тільки що дозволяє переглядати зміст документа. Документ може бути збережений у звичайному текстовому форматі і може бути відкритий багатьма іншими додатками. Використовуючи додаток, що дозволяє переглядати бінарний вміст довільного файлу, можна побачити, що зберігається в файлі документа – це просто звичайний текст, нічого іншого в ньому немає.

Легко більш складні текстові програми, такі як Microsoft WordPad, зберегти документ у форматі Rich Text (RTF), який підтримує більше функцій форматування, таких як вставка зображень, форматування символів, абзаців та інтервалів. Однак формат RTF також містить лише зміст документа, що не містить інформації про сторінки.

Microsoft Word є найбільш просунутим текстом, який використовує Windows сьогодні. Формати файлів у форматі DOCX, що описує вміст документа, гнучко і широко, що дозволяє користувачам вказати розмір сторінки, орієнтацію на розділ документа, і, будучи додатком WYSIWYG навіть показати сторінки документів на екрані. Тим не менш, немає інформації про те, як вміст документа відображається на сторінках, доступних у файлі документа. Файл документа лише описує сам зміст, а також взаємозв’язок об’єктів документа один до одного, поряд з деякими геометричними обмеженнями. В результаті перед відображенням документа, Microsoft Word ускладнює саму інформацію. Це де знаходиться макет сторінки.

Що таке макет сторінки

Планування сторінок документа є структурою даних, що описує, де конкретний об’єкт знаходиться на сторінках для всіх об’єктів документа. Крім того, оскільки об’єкти мають властивості, які впливають на їх зовнішній вигляд, такі як розмір шрифту, затінення або ефект малювання, потрібно не тільки знати, де об’єкт є, але і які області (s) сторінки, він займає, і чи буде його застосувати до декількох сторінок, щоб інші об’єкти не перекривають однакову область (s).

Aspose.Words реалізовує функцію макетування сторінок, що дозволяє виробляти всі формати сторінок, такі як PDF, XPS, і різні формати зображень. Без макета сторінок, інформація, що зберігається в файлі фіксованої сторінки, не буде доступна і всі ці формати не будуть підтримуватися.

Відносно між документом і макетом сторінок досить простий. У якому документі описано зміст, відповідна верстка сторінки описує геометрію цього контенту. Зауважте, що макет сторінки не існує без документа, оскільки не буде контенту для обчислення геометрії, але документ може існувати без макета сторінки. Наприклад, коли документ DOCX перетворюється в документ RTF, він зазвичай непотрібний знати геометрію, оскільки ні формат зберігає його.

Створення сайту

Створення макета сторінок може бути дорогою процедурою, як з точки зору швидкості, так і пам’яті. Це пов’язано з кількома причинами:

  • до Документ може мати велику кількість контенту, що може знадобитися для відображення на тисяч сторінках. Геометрія кожного об’єкта на кожній сторінці буде потрібно описати, споживаючи ресурси пам’яті.
  • до Документ може мати багато правил, розміщення обмежень на геометрію. Уважний час обчислень може бути проведений, гарантуючи всі обмеження задоволені
  • Деякі функції документів, наприклад, NUMPAGES поле, створення рекурсивних залежностей для значень майбутнього майна, які не доступні в часі обчислення. Це призводить до повторюваних обчислень і додає в час обчислення.

У зв’язку з вищезазначеними причинами, Aspose.Words створить макет сторінки тільки при необхідності. Типова причина для цього буде запитом на надання документів сторінок або отримання значення поля, що залежить від інформації, що міститься в макеті сторінки. Ви можете експортувати документ у HTML. Незважаючи на те, що HTML не є фіксованим форматом сторінок і він не описує геометрію об’єктів контенту, він все ще підтримує зображення. Такі зображення можуть бути у вигляді форм, створених у Microsoft Word з текстом всередині них. Наприклад, в HTML можна експортувати діаграму з віссю, як зображення, але до цього можна зробити Aspose.Words потрібно надати зображення, а отже, потрібно знати, де відображати етикетку. Переглянути приклад діаграми нижче:

converting-to-fixed-page-format_1

Негеометрія Властивості

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

Розгортання сторінок, де з’явиться текст і який зміст буде продано за ним, що дозволяє розрахунок кольору. Є інші специфічні розрахунки, які виконуються макетом сторінки. Наприклад, горизонтальний кордон у таблиці залежить від того, чи триває настільний ряд у стовпці тексту, і чи розбивається він по стовпцях. Якщо рядок продається останнім в стовпчику, нижній кордон використовується замість горизонтальної.

converting-to-fixed-page-format_2

У <span notrans="<span notrans=" Aspose.Words"="">, > Користувач може запитати, чи побудувати нову версію сторінки або оновити існуючу. І з них можна виконувати update_page_layout метод, що надається методом Document клас. Якщо макет сторінки не існує, але потрібно для нього (наприклад, коли документ вивозиться до фіксованого формату сторінки), Aspose.Words автоматично зателефонуйте цей метод. Однак якщо вже існує макет сторінки, Aspose.Words використовувати наявний, щоб уникнути споживання ресурсів, необхідних для його оновлення. У цьому випадку користувач повинен викликати update_page_layout метод, для того, щоб переконатися, що макет сторінки додано до дати з моделлю документа.

Динамічна структура

Процес створення макета сторінок складається з наступних кроків:

  • до Conversion – об’ємний зміст моделі документа та підготовка відповідних макетних об’єктів.
  • до Build – об’єкти розмітки для представлення змісту документа на сторінках.
  • до Reflow – оновлення розташування об’єктів для задоволення концентрацій геометрії.
    • Проектування макетів об’єктів на фіксовану сторінку презентації та заключення кольорової інформації*.
  • Будівництво та переробка вмісту форми – покрокова інформація, яка містить форми з в’язаним вмістом тексту.

Примітка, що макет сторінки є динамічною структурою, яка може бути частково перебудована. Це особливо потрібно, коли неможливо розрахувати значення поля без перебудування структури макета документа. Поле може посилатися на розташування об’єкта на сторінці, а в той же час сама по собі значення поля також відображається на сторінці, що впливає на розташування позначеного об’єкта. Планування сторінки не може бути побудована в одному поході, оскільки значення поля не можуть бути доступні в момент розміщення на сторінці.

Розглянемо типовий сценарій при NUMPAGES поле з’являється в нижній частині першої сторінки в документі. Вартість даного поля – загальна кількість сторінок. Для того, щоб розташувати поле на сторінці, його значення слід знати. Якщо тільки перша сторінка в даний час побудована, то загальна кількість сторінок ще не відомо. У цьому випадку макет сторінки має використовувати значення за замовчуванням і пізніше повернутися до цього поля і змінити його значення відповідно до фактичних обчислень. Однак, зміна значення поля може впливати на інший зміст документа на сторінці і в кінцевому рахунку викликати нову сторінку, яка буде доповнена або існуючою сторінкою, що вилучена, таким чином, що комп’ютерне значення застаріле. Ця проблема може бути вирішена, що дозволяє оновити існуючу версію сторінки.

При створенні макета також можна налаштувати LayoutOptions властивості, які впливають на вихід документа на сторінки.

Збереження формату Фіксованої сторінки

Після побудови макета сторінки і розраховується геометрія об’єктів і їх положення на сторінці, документ можна зберегти в фіксованому форматі сторінки, що підтримується Aspose.Wordsй При зберіганні документів на стаціонарні формати сторінок можна використовувати параметри рендерингу, що поширені для всіх цих форматів. Вони дозволяють контролювати:

  • до Число і діапазон сторінок, що містяться в вихідного документа (page_set).
  • Набір символів, які використовуються для відображення чисел (numeral_format).
  • Метафайл-плеєрmetafile_rendering_options). Докладніше див. інформацію Рушники Windows Метафайли стаття.
  • Якість швидкості рекомпресування зображень JPEG, значення якого може дещо відрізнятися, залежно від обраного формату збереження (jpeg_quality).
  • Оптимізація векторної графіки в Aspose.Words вихід ()optimize_output).
  • Параметри графіки при збереженні Tiff, Png, Bmp, Jpeg, Emf формати (use_anti_aliasing, use_high_quality_rendering).
  • Збереження документа в сірому масштабі (color_mode).
  • Перемикання між рендерингом форм DrawingML та формами падавання (dml_rendering_mode).
  • Переключення режимів передачі ефектів DML (DML)dml_effects_rendering_mode).

Приклад нижче показує, як зберегти документ у форматі JPEG за допомогою програми JPEG save метод і параметри рендерингу:

# Open the document
doc = aw.Document(docs_base.my_dir + "Rendering.docx")
# Save as a JPEG image file with default options
doc.save(docs_base.artifacts_dir + "Rendering.JpegDefaultOptions.jpg")

# Save document to stream as a JPEG with default options
docStream = io.BytesIO()
doc.save(docStream, aw.SaveFormat.JPEG)
# Rewind the stream position back to the beginning, ready for use
docStream.seek(0)

# Save document to a JPEG image with specified options.
# Render the third page only and set the JPEG quality to 80%
# In this case we need to pass the desired SaveFormat to the ImageSaveOptions constructor 
# to signal what type of image to save as.
imageOptions = aw.saving.ImageSaveOptions(aw.SaveFormat.JPEG)
imageOptions.page_index = 2
imageOptions.page_count = 1
imageOptions.jpeg_quality = 80
doc.save(docs_base.artifacts_dir + "Rendering.JpegCustomOptions.jpg", imageOptions)