Импорт и экспорт в компонентах ТРичвью (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)