Экспорт документов ТРВ-Редактора (TRichView) в HTML

<< Нажмите, чтобы показать Содержание >>

Экспорт документов ТРВ-Редактора (TRichView) в HTML

Обзор

В компонентах TRichView и TRichViewEdit есть методы для сохранения, загрузки и вставки HTML-файлов.

Для сохранения HTML-файлов используются следующие свойства:

HTMLSaveProperties

DocParameters.Title and Comments.

Изображения

TRichView сохраняет HTML-файл и набор файлов изображений (в качестве альтернативы, изображения могут быть встроены непосредственно в HTML-файл).

Веб-форматы изображений сохраняются как есть. Другие изображения сохраняются как JPEG (*.jpg).

TRichView определяет все изображения JPEG, PNG, GIF, SVG, WebP как веб-форматы. Чтобы определить конкретный графический класс как веб-формат, используйте метод RVGraphicHandler.RegisterHTMLGraphicFormat. Сам

Кроме того, вы можете сохранять изображения самостоятельно в пользовательских форматах, используя события OnHTMLSaveImage или OnSaveImage2 (см. демонстрационный пример в Demos\*\Assorted\Save HTML\).

См. также HTMLSaveProperties.ImageOptions, ImagesPrefix.

Два варианта сохранения HTML

Поддерживаются два варианта сохранения HTML, выбираемые с помощью свойства HTMLSaveProperties.HTMLSavingType:

сохранение с использованием <font>, <b>, <i> и других подобных HTML-элементов (rvhtmlstSimplified)

сохранение с использованием CSS (Cascading Style Sheets, Каскадные таблицы стилей) (rvhtmlstNormal)

HTML-файлы с CSS сохраняют гораздо больше свойств форматирования документа ТРВ-Редактора (они выглядят почти точно так же, как содержимое ТРВ-Редактора, при использовании современного браузера) и имеют гораздо более элегантный и компактный HTML-код.

Закладки

Закладки сохраняются как HTML-якоря (anchors).

По умолчанию в качестве имён якорей используются имена закладок, но вы можете переключиться на сгенерированные имена якорей.

См. HTMLSaveProperties.UseCheckpointNames, CheckpointsPrefix.

Кодировка

По умолчанию TRichView создает HTML-файлы в кодировке UTF-8.

Рекомендуется использовать UTF-8, но вы можете изменить кодировку с помощью свойства HTMLSaveProperties.Encoding.

Сохранение с использованием CSS

По умолчанию, если HTMLSaveProperties.HTMLSavingType = rvhtmlstNormal,, CSS сохраняется как таблица стилей в элементе <head> HTML-кода и используется в HTML-элементах с помощью атрибута class.

В качестве альтернативы, вы можете сохранить таблицу стилей во внешнем файле и указать её имя в HTMLSaveProperties.ExternalCSSFileName.

В качестве альтернативы, вместо использования таблицы стилей, стили можно сохранять непосредственно в HTML-тегах (используя атрибут style).

Даже если HTML-код в целом сохраняется без CSS (HTMLSaveProperties.HTMLSavingType = rvhtmlstSimplified)), вы можете сохранять нетекстовые элементы (такие как таблицы, изображения или горизонтальные линии) с помощью CSS.

См. HTMLSaveProperties.CSSOptions.

Вы можете указать дополнительные стили в HTMLSaveProperties.ExtraStyles.

Гиперссылки, компоненты и др.

По умолчанию теги элементов документа сохраняются как цели гиперссылок. Вы можете настроить сохранение с помощью события OnWriteHyperlink.

По умолчанию вставленные компоненты не сохраняются. Однако вы можете сохранить их в событии OnSaveComponentToFile.

Вы можете сохранить дополнительную информацию в HTML в событиях: OnSaveHTMLExtra, OnSaveParaToHTML.

Вы можете вставлять HTML-код в текст.

Вы можете полностью изменить сохранение любого элемента документа в HTML с помощью события OnSaveItemToFile.

Вы можете сохранить дополнительные свойства нетекстовых элементов с помощью события OnWriteObjectProperties.

Математические выражения

При использовании бесплатной версии Adit Math Engine математические выражения экспортируются в виде изображений.

При использовании коммерческой версии Adit Math Engine математические выражения экспортируются как объекты MathML (эту функцию можно отключить с помощью свойства RVMathEquationManager.SaveMathMLInHTML).

Символьные шрифты

SaveHTML сохраняет весь текст шрифтов «Symbol» и «Wingdings» (и некоторых других) в виде набора символьных сущностей HTML или кодов Юникода (Unicode). Например, текст 'a+b=g' шрифта "Symbol" (α+β=γ) сохраняется как '&alpha;+&beta;=&gamma;'.

Плюсы:

корректное отображение в современных браузерах (а не только в IE);

корректное отображение в ОС, отличных от Windows.

Минусы:

символы выглядят немного по-другому;

некоторые экзотические символы теряются.

Колонтитулы

Если заданы верхний и/или нижний колонтитулы, их можно сохранить до и после основного документа в формате HTML. Для этого установите свойство TRichView.HTMLSaveProperties.SaveHeaderAndFooter = True.

Компонент использует либо колонтитулы для первой страницы, либо обычные колонтитулы, в зависимости от TRichView.DocParameters.TitlePage.

Известные проблемы

Нумерация закладок начинается с 0 в каждой ячейке таблицы. Поэтому рекомендуется использовать имена закладок в качестве названий HTML-якорей (см. HTMLSaveProperties.UseCheckpointNames).

См. также...

Методы для сохранения и загрузки;

Экспорт таблиц;

Типизированные константы, влияющие на экспорт HTML.