rvreporthelper TRVReportHelper

Свойства   Методы   События

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

rvreporthelper TRVReportHelper

Свойства   Методы   События

Этот компонент похож на TRVPrint, но:

▪его можно использовать для рисования на любой канве (Canvas) страниц любого размера, не ограниченного размерами страниц принтера; однако аналогичную функциональность можно реализовать с помощью TRVPrint.VirtualPrinter;

▪он содержит документ, а не ссылку на него.

Модуль [VCL/FMX] RVReport / fmxRVReport.

Синтаксис

TRVReportHelper = class(TCustomRVPrint)

Иерархия

TObject

TPersistent

TComponent

TCustomRVPrint

Как использовать

1.Загрузите документ в RVReportHelper.RichView.

2.Инициализируйте форматирование (Init). Задайте ширину страницы и канву.

3.Форматируйте документ постранично с помощью FormatNextPage. Страницы могут иметь разную высоту.

4.Рисуйте страницы на канве с помощью DrawPage или DrawPageAt. Если нужно получать позиции гиперссылок и закладок, используйте события OnDrawHyperlink и OnDrawCheckpoint.

Пример (рисование документа в метафайле)

procedure TForm1.DrawToMetafile(rvh: TRVReportHelper;

  wmf: TMetafile; Width: Integer);

const VERYLARGEVALUE = $FFFFFFF;

var Canvas: TMetafileCanvas;

begin  

  rvh.IgnorePageBreaks := True;

  rvh.Init(Self.Canvas, Width);

  while rvh.FormatNextPage(VERYLARGEVALUE) do;

  wmf.Width := Width;

  wmf.Height := rvh.GetLastPageHeight;

  Canvas := TMetafileCanvas.Create(wmf, 0);

  rvh.DrawPage(1,Canvas,True,rvh.GetLastPageHeight);

  Canvas.Free;

end;

Параметры совместимости

У некоторых канв могут возникать проблемы с рисованием сложного содержимого (особенно при создании PDF или метафайлов). В этом случае можно использовать следующие свойства:

▪MetafileCompatibility;

▪NoMetafiles.

Колонтитулы

TRVReportHelper не поддерживает колонтитулы.

Если вам нужно хранить, используйте класс TRVReportHelperWithHeaderFooters (или srv_icon СРВ-Редактор (ScaleRichView)).

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

▪Demos\*\Assorted\Graphics\ToImage\

▪Demos\*\Assorted\Printing\ReportHelper\