Преобразуване във формат с фиксирана страница
Aspose.Words прилага собствен макет на страница двигател. Преди да се вгледаме в неговите спецификации, си заслужава първо да обсъдим документа на високо равнище. Когато мислят за документ, потребителите обикновено си представят няколко хартиени листа, съдържащи думи, изображения, таблици и диаграми. Документите могат да бъдат от различни видове, като текст, електронни таблици, слайдове, CAD чертежи, flowcharts, и следователно могат да имат по същество различни подредби. Повечето приложения позволяват изпращане на документи на принтер; това е, когато потребителят може действително да видите документа.
Показване на документ в различни приложения
Различните документи за разглеждане или публикуване на приложения позволяват на потребителите да отварят (Adobe Acrobat, XPS Viewer) и понякога редактиране (Adobe InDesign) документи на специфични формати. Тези приложения обикновено произвеждат така наречените “фиксирани страници” формат документи. Такъв формат на документ описва точно къде на всяка страница се поставя съдържанието на документ. Вътрешен PDF или XPS формат съдържа описание на всяка страница, както и инструкции за рисуване, като се посочва оформлението на съдържанието на страницата. Това е подобно на образните формати, описващи къде съдържанието е показано в растер или векторна форма.
За разлика от това някои приложения за редактиране на текст не подкрепят гледането на страници с документи. Например, Microsoft Notepad поддържа много малко функции, различни от просто показване, редактиране и печат на текст. Важното наблюдение тук е, че такива приложения не могат нито да показват страниците на документа, нито да кажат на потребителя колко от тях ще бъдат отпечатани, само позволявайки да се види съдържанието на документа. Документът може да бъде записан в обикновен текстов формат и може да бъде отворен от много други приложения. С помощта на приложение, което позволява гледане на двоично съдържание на произволен файл, човек може да види какво се съхранява в документния файл го е просто обикновен текст, няма нищо друго в него.
Малко по-сложни приложения за редактиране на текст, като Microsoft WordPad, запишете документа в Rich Text Format (RTF), който поддържа повече функции форматиране, като вмъкване на изображения, форматиране на символи, параграф маржове и разстояние. Въпреки това форматът RTF съдържа само съдържанието на документ, който няма информация за страниците.
Microsoft Word е най-модерното приложение за редактиране на текст в Windows Днес. Той форматира файлове във формат DOCX, който описва съдържанието на документа гъвкаво и обширно, позволявайки на потребителите да определят размера на страницата, ориентацията за раздел документ, и като WYSIWYG приложение дори показва страници на документи на екрана. Въпреки това все още няма информация за начина, по който съдържанието на документа е показано на страниците, налични в документа. Документният файл описва само самото съдържание и връзката на документ обекти един с друг, заедно с някои геометрични ограничения. В резултат на това, преди да покаже документ, Microsoft Word изчислява самата информация. Това е мястото, където страница оформление влиза в игра.
Какво представлява подредбата на страниците
Оформление на страница с документи е структура от данни, описваща къде даден обект се намира на страници за всички обекти с документи. Освен това, тъй като обектите имат свойства, които влияят на външния им вид, като например размер на шрифта, сянка или ефекти на рисуване, трябва не само да знаете къде е обектът, но и каква (и) област (и) на страницата заема, и дали ще се прилага за множество страници, така че други обекти да не се припокриват със същата (ите) област (и).
Aspose.Words изпълнява функционалността на оформлението на страниците, която му позволява да произвежда всички фиксирани формати на страниците, като PDF, XPS, и различни формати на изображения. Без оформление на страницата информацията, съхранена във файла с фиксираната страница няма да бъде налична и всички тези формати няма да бъдат поддържани.
Връзката между документ и оформление на страница е доста проста. Докато документ описва съдържанието, съответната страница описва геометрията на това съдържание. Забележка, че оформлението на страница не може да съществува без документ, тъй като няма да има съдържание за изчисляване на геометрията, но документ може да съществува без оформление на страница. Например, когато документ DOx се преобразува в RTF документ, обикновено не е необходимо да се знае геометрията, тъй като нито един формат не го съхранява.
Създаване на подредба на страници
Създаване на страница оформление може да бъде скъпа процедура, както по отношение на скоростта и паметта. Това се дължи на няколко причини:
- Документът може да съдържа голямо количество съдържание, което може да се наложи да бъде показано на хиляди страници. Геометрията на всеки обект на всяка страница трябва да бъде описана, като се използват ресурси от памет.
- Документът може да има много правила, поставяйки ограничения върху геометрията. Значително време за изчисляване може да бъде прекарано, като се гарантира, че всяко ограничение е изпълнено
- Някои документи функции, например,
NUMPAGES
поле, създайте рекурсивни зависимости за бъдещи стойности на имотите, които не са налични към момента на изчисляване. Това води до повтарящи се изчисления и се добавя в изчислителното време.
Поради горепосочените причини, Aspose.Words ще създаде оформление на страница само когато е необходимо. Типична причина за това би била искането да се направят страници с документи или да се получи стойност на полето, която зависи от информацията, налична в оформлението на страниците. По-неочевидна причина може да е експортирането на документ в HTML. Въпреки че HTML не е формат с фиксирана страница и не описва геометрията на обектите на съдържанието, той все още поддържа изображения. Такива изображения могат да бъдат под формата на форми, създадени в Microsoft Word с текст в тях. Например, диаграма с axis етикети могат да бъдат изнесени в HTML като изображение, но преди това може да се направи Aspose.Words трябва да направи това изображение и затова трябва да знае къде да покаже етикета. Вижте примера на диаграмата по-долу:
Негеометрични Настройки
В допълнение към обработката на геометрична информация, оформлението на страница също носи отговорност за изчисляване на цветове и гранични стилове. В Microsoft Word, цвят на текста може да бъде определен като автоматичен, което означава, че изборът на цвят трябва да се основава на сянка цвят на клетката или параграф, или въз основа на цвета на страницата, където се появява текстът.
Оформлението на страницата изчислява къде ще се появи текстът и какво съдържание ще бъде предадено зад него, позволявайки изчисляване на цветовете. Има и други специфични изчисления, направени от оформлението на страницата. Например хоризонталната граница в дадена таблица зависи от това дали даден ред в таблицата е последен в колона с текст и дали е счупен през колони. Ако даден ред е последен в колона, долната граница се използва вместо хоризонтална.
В Aspose.Words Потребителят може да поиска да изгради нов макет или да актуализира съществуващ. И двете могат да бъдат извършени от UpdatePageLayout метод, предоставен от Document Клас. Ако не съществува оформление на страница, но има нужда от него (например, когато документът се изнася във формат с фиксирана страница), Aspose.Words автоматично ще наречем този метод. Въпреки това, ако оформлението на страница вече съществува, Aspose.Words ще използва съществуващата, за да избегне използването на ресурсите, необходими за нейното актуализиране. В този случай, потребителят трябва да се обади на UpdatePageLayout
метод, за да се гарантира, че оформлението на страницата е актуализирано с модела на документа.
Динамична структура
Процесът на създаване на оформление на страници се състои от следните стъпки:
- Conversion Изброяване на съдържанието на модела на документа и изготвяне на съответните обекти за макет.
- Build гонене на обекти за макет за представяне на съдържанието на документа на страници.
- Reflow. ..
- Професионален макет обекти в фиксирана презентация страница и финализиране цветова информация.
- Building and reflowing of form content год.
Имайте предвид, че оформлението на страницата е динамична структура, която може да бъде частично възстановена. Това е особено необходимо, когато е невъзможно да се изчислят стойностите на полето без възстановяване на структурата на оформлението на документа. Полето може да се отнася за местоположението на обект на страница и в същото време самата стойност на полето също е представена на страницата, засягаща местоположението на съответния обект. Макет на страница не може да бъде изграден наведнъж, тъй като стойностите на полето все още може да не са налични по време на позициониране на страница.
Обърнете внимание на типичния сценарий, когато NUMPAGES
полето се появява в подножието на първата страница в документа. Стойността на това поле е общият брой страници. За да се постави полето на страница, трябва да се знае стойността му. Ако в момента се строи само първата страница, то общият брой страници все още не е известен. В този случай оформлението на страницата трябва да използва стойността по подразбиране и по-късно да се върне в полето и да промени стойността си според действителните изчисления. Промяната на стойността на полето обаче може да засегне друго съдържание на документи на страница и в крайна сметка да доведе до приложение на нова страница или да премахне съществуваща страница, като по този начин се направи остаряла изчислителната стойност. Този проблем може да бъде решен, като се даде възможност за актуализиране на съществуващото оформление на страницата.
При създаване на оформление е възможно също така да се създаде LayoutOptions свойства, които влияят върху представянето на документа на страници.
Запис във формат с фиксирана страница
След като оформлението на страницата е изградено и геометрията на обектите и позицията им на страницата се изчислява, документът може да бъде записан във формат с фиксирана страница, поддържан от Aspose.Words. При запазване на документи във формат с фиксирана страница могат да се използват вариантите за предаване, общи за всички тези формати. Те позволяват да се контролира:
- Брой и обхват на страниците, съдържащи се в изходния документ (PageIndex, PageCount.
- Напредък на спасяването на документ от страница по страница (PageSavingCallback.
- Набор от символи, които се използват за номериране (NumeralFormat.
- Метафилър (MetafileRenderingOptions. За повече подробности вижте Работа Windows Metafiles статия.
- Ниво на качество за рекомпресиране JPEG изображения, чиято стойност може да се различава леко, в зависимост от избрания формат за запис (JpegQuality.
- Оптимизация на векторната графика в Aspose.Words изход (OptimizeOutput.
- Графични опции при спестяване на Tiff, Png, Bmp, Jpeg, Emf формати (UseAntiAliasing, UseHighQualityRendering.
- Запис на документа в сив мащаб (ColorMode.
- Превключване между представянето на DrawML форми и резервни форми (DmlRenderingMode.
- Превключване между режимите на предаване на ефекти на DML (DmlEffectsRenderingMode.
Примерът по- долу показва как да запишете документ във формат JPEG с помощта на Save
опции за метод и превод: