|
<< Нажмите, чтобы показать Содержание >> Экспорт документов ТРВ-Редактора (TRichView) в HTML |
В компонентах TRichView и TRichViewEdit есть методы для сохранения, загрузки и вставки HTML-файлов.
Для сохранения HTML-файлов используются следующие свойства:
▪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, выбираемые с помощью свойства 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.
По умолчанию, если 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" (α+β=γ) сохраняется как 'α+β=γ'.
Плюсы:
▪корректное отображение в современных браузерах (а не только в IE);
▪корректное отображение в ОС, отличных от Windows.
Минусы:
▪символы выглядят немного по-другому;
▪некоторые экзотические символы теряются.
Если заданы верхний и/или нижний колонтитулы, их можно сохранить до и после основного документа в формате HTML. Для этого установите свойство TRichView.HTMLSaveProperties.SaveHeaderAndFooter = True.
Компонент использует либо колонтитулы для первой страницы, либо обычные колонтитулы, в зависимости от TRichView.DocParameters.TitlePage.
Нумерация закладок начинается с 0 в каждой ячейке таблицы. Поэтому рекомендуется использовать имена закладок в качестве названий HTML-якорей (см. HTMLSaveProperties.UseCheckpointNames).