Импорт и экспорт в компонентах ТРВ-Редактор (TRichView) (DocX, RTF, HTML, Markdown, XML и др.)
Показать или спрятать менюTRichView.ru

  Импорт и экспорт в ТРВ-Редакторе (TRichView)

  • ТРВ-Редактор экспортирует документы форматов DocX, RTF, HTML, Markdown, PDF*, текстовые файлы.
  • ТРВ-Редактор импортирует документы форматов DocX, RTF, HTML, Markdown, текстовые файлы.
  • ТРВ-Редактор сохраняет и загружает** документы в своём формате (RVF) и XML (при использовании РВ-XML (RichViewXML)).

* с помощью дополнительных компонентов
** под сохранением и загрузкой понимаются операции, которые на 100% сохраняют содержимое и оформление документа; экспортированные, а затем вновь импортированные документы могут отличаться от оригинала.


Текст, скопированный из Microsoft Word

RTF: «Формат обогащённого текста» (Rich Text Format)

RTF — это формат файлов, который позволяет различным текстовым процессорам в различных операционных системах обмениваться между собой форматированным текстом и графикой.

Преимущества RTF:

  • это широко распространённый формат; множество приложений поддерживает его, включая ВордПад (WordPad) и Microsoft Word;
  • в этом формате можно хранить сложное форматирование, картинки, таблицы, сноски, текстовые поля, гиперссылки, юникодный текст.

Недостатки RTF:

  • файлы этого формата обычно занимают много места (потому что содержат несколько различных представлений одних и тех же фрагментов документа, картинки закодированы текстом, неэкономно записываются неанглийские символы);
  • он не может хранить некоторую информацию, специфическую для ТРВ-Редактора (TRichView); картинки не всех графических форматов могут быть сохранены в RTF — они преобразуются в метафайлы, битмапы или изображения Png.

ТРВ-Редактор (TRichView) читает, сохраняет и вставляет файлы RTF, копирует и вставляет RTF в/из буфера обмена, обменивается RTF через перетаскивание выделенного фрагмента (drag and drop).
ТРВ-Редактор (TRichView) даёт возможность программистам написать свой код для сохранения в RTF элементов управления (controls), вставленных в документ, а также для чтения и записи гиперссылок.
ТРВ-Редактор (TRichView) импортирует файлы RTF с битмапами, изображениями Png, 16- и 32-битными метафайлами, картинками Jpeg, внешними изображениями (из отдельных файлов).
Вы можете определить некоторые текстовые стили как коды RTF и использовать их для вставки ключевых слов (команд) в RTF.



Документы Microsoft Word: DocX («Открытый XML Офиса» (Office Open XML))

Файлы DocX содержат документы в формате «Открытого XML Офиса» (известном также как OOXML или OpenXML). Это современный формат, используемый главным образом Microsoft Word (начиная с Microsoft Office 2007), но офисные продукты других разработчиков тоже могут работать с этим форматом.

Технически, файл DocX представляет собой набор файлов XML и рисунков, упакованных в один архив ZIP. Он содержит практически ту же информацию, что и файлы RTF, с небольшими отличиями: например, поддерживается больше графических форматов.

Файлы DocX относительно небольшие, потому что содержат меньше избыточной информации, содержат изображения в исходном формате, и потому что всё содержимое программно сжато.

ТРВ-Редактор (TRichView) может читать, сохранять и вставлять файлы DocX.
Вы можете определить некоторые текстовые стили как коды DocX и использовать их для вставки XML-тегов в DocX.

Документ Microsoft Word, открытый в редакторе TRichView

Минимальные требования к компиляторам для чтения и вставки DocX: Дельфи 2009 и новее, Си++Билдер 2009 и новее, Лазарус.


HTML: «Язык гипертекстовой разметки» («Hypertext Markup Language»)

HTML — это язык Интернета.
ТРВ-Редактор (TRichView) сохраняет красивый и компактный код HTML в двух режимах: традиционном «старомодном» (с тегами <B>,<FONT>) и с использованием каскадных таблиц стилей (Cascading Style Sheet — CSS)
CSS — это современный механизм таблиц стилей, который позволяет авторам задавать стили (т.е. шрифты, цвета, размеры элементов) в документах HTML, не меняя их внутренней структуры.
HTML с CSS выглядит практически точно так же, как исходный документ ТРВ-Редактора (TRichView), если отображается в современных браузерах.

В зависимости от настроек, HTML, сохранённые компонентом, соответствуют стандартам HTML 4.01 Transitional или HTML 4.01 Strict. Кроме того, возможно сохранение XHTML.

ТРВ-Редактор (TRichView) экспортирует HTML как текстовый файл с кодом HTML и набор файлов с изображениями. По умолчанию, все картинки преобразуются в формат Jpeg (кроме изображений Gif и Png). Можно задать список дополнительных графических форматов, которые не следует преобразовывать, а также полностью изменить процесс сохранения с помощью обработки событий компонента (и, например, сохранить все картинки в формате Png).
С помощью специального события компонент позволяет сохранять в HTML вставленные в документ элементы управления. Компонент может сохранять HTML в потоки (TStream) вместо файла. Более того, можно записать только содержимое тела (body) HTML, что позволяет использовать их как часть больших HTML при создании сложных программ редактирования и генерации страниц интернет-сайтов.
Вы можете определить некоторые текстовые стили как коды HTML и использовать их для вставки тегов в HTML.

Компонент может загружать и вставлять в документ файлы HTML, может вставлять данные в формате HTML из буфера обмена.


Маркдаун (Markdown)

Markdown — это облегчённый язык разметки, созданный с целью написания наиболее читаемого и удобного для правки текста, пригодного для преобразования в языки для продвинутых публикаций (HTML, RTF и других).

Документы в формате Markdown очень похожи на простые текстовые файлы. Хотя несложно создавать файлы Markdown с использованием простого текстового редактора (такого как Блокнот), полезна и возможность создания документов Markdown с использованием редакторов форматированного текста (таких как наш компонент ТРВ-Редактор (TRichView)).

Markdown широко используется как формат статей и заметок в системах управления контентом (CMS), системах отслеживания ошибок, вебсайтах.


Текстовые файлы

ТРВ-Редактор (TRichView) пишет и читает текстовые файлы в традиционной (ANSI) кодировке или Юникоде. Также можно копировать и вставлять эти форматы из буфера обмена.


RVF: «Формат ТРВ-Редактора» (RichView Format)

ТРВ-Редактор (TRichView) имеет свой собственный формат для записи документов. Этот формат компактен, прост и может хранить всю возможную информацию о документе ТРВ-Редактора (TRichView).
Имеется ряд настроек для чтения и записи RVF. Например, форматирование (т.е. коллекции стилей текста и абзацев) может быть сохранено вместе с документами RVF или отдельно от них (и использоваться несколькими документами).
Компонент-редактор может копировать и вставлять RVF из буфера обмена.


XML:«Расширяемый язык разметки» (Extensible Markup Language)

См. страницу РВ-XML (RichViewXML).


PDF:«Межплатформенный формат документа Эдоуб» (Adobe Portable Document Format)

ТРВ-Редактор (TRichView) не имеет своих методов для сохранения документов PDF, однако может использовать для этого компоненты других производителей (см. страницу ресурсов).

Для версии VCL:

Для версии ФайрМанки (FireMonkey):

  • СкиаДляДельфи (Skia4Delphi)

Базы данных и технология ЛайвБайндингс (LiveBindings)

TDBRichView и TDBRichViewEdit — компоненты для отображения и редактирования документов в базе данных в форматах RTF, RVF, DocX, HTML, текстовом или других, заданных программистом, форматах (для версии VCL и для Лазаруса).

Существует и другой способ: связь компонентов-редакторов с полями баз данных с помощью технологии ЛайвБайндингс (LiveBindings) (для версии VCL и ФайрМанки (FireMonkey)).

Демонстрационные проекты:

  • Примеры работы с БД:
    • Demos\​*\​DB Demos\ (версия с Borland Database Engine)
    • Demos\​*\​DB Demos.BDE\ (версия с Borland Database Engine)
    • Demos\​*\​DB Demos.FireDAC_IB\ (версия с FireDAC + таблица Интербейз (Interbase))
    • Demos\​Lazarus\​DB Demos\ (версия с DBF )
  • Примеры с заменой полей в документе значениями из БД:
    • Demos\​*\​Assorted\​Fields\​MailMerge\ (версия с Borland Database Engine)
    • Demos\​*\​Assorted\​Fields\​MailMerge2.​BDE\ (версия с Borland Database Engine)
    • Demos\​*\​Assorted\​Fields\​MailMerge2.​FireDAC_IB\ (версия с FireDAC + таблица Интербейз (Interbase))
    • Demos\​Lazarus\​Assorted\​Fields\​MailMerge2\ (версия с DBF)