Во вьювере предусмотрено несколько вариантов печати отчета. Каждый имеет свои особенности, достоинства и недостатки.

 

Печать в PDF (Print to PDF)

Печать будет осуществляться посредством экспортирования отчета в PDF формат. К достоинствам можно отнести большую точность расположения и печати элементов отчета по сравнению с остальными вариантами печати. Из недостатков можно упомянуть обязательное наличие установленного в браузере плагина для просмотра PDF файлов (современные браузеры имеют встроенное средство просмотра и печати PDF файлов).

 

Печать с просмотром (Print with Preview)

Печать отчета будет осуществлена в отдельном всплывающем окне браузера в HTML формат. Отчет можно предварительно просмотреть, а затем отправить на принтер или скопировать в другое место в виде текста или HTML-кода. К достоинствам можно отнести кроссбраузерность при печати, отсутствие необходимости установки специальных плагинов. Недостатком является относительно невысокая точность расположения элементов отчета, обусловленная особенностями реализации HTML-форматирования.

 

Печать без просмотра (Print without Preview)

Печать отчета будет осуществлена непосредственно на принтер без предварительного просмотра. После выбора этого пункта меню отображается системный диалог печати. Так как печать в этом режиме осуществляется в HTML формат, то качество печати аналогично качеству печати отчета с предварительным просмотром.

 

Информация

 

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

 

 

 

Настройки печати отчета

При выборе печати отчета на панели вьювера, отображается меню с выбором варианта печати. Компонент имеет возможность принудительно установить требуемый режим печати. Для этого достаточно установить свойство printDestination в одно из указанных ниже значений из перечисления StiPrintDestination:

 

Наименование

Описание

StiPrintDestination::Default

При выборе печати будет отображено меню с доступными вариантами печати (значение свойства по умолчанию).

StiPrintDestination::Pdf

Печать в PDF формат.

StiPrintDestination::Direct

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

StiPrintDestination::WithPreview

Печать в HTML формат с предварительным просмотром во всплывающем окне.

 

 

Например, требуется установить режим печати только в PDF формат:

 

viewer.php

 

<?php

$options = new \Stimulsoft\Viewer\StiViewerOptions();

$options->toolbar->printDestination = \Stimulsoft\Viewer\StiPrintDestination::Pdf;

?>

 

 

 

Вьювер имеет возможность полностью отключить печать отчета, если она не требуется. Для этого необходимо установить значение false для свойства showPrintButton:

 

viewer.php

 

<?php

$options = new \Stimulsoft\Viewer\StiViewerOptions();

$options->toolbar->showPrintButton = false;

?>

 

 

 

Событие печати отчета

При необходимости выполнения каких-либо действий перед печатью отчета, предназначено событие onPrintReport. В аргументах события будут переданы тип печати отчета и сам отчет, отправленный на печать.

 

viewer.php

 

<?php

$viewer = new \Stimulsoft\Viewer\StiViewer();

$viewer->onPrintReport = 'onPrintReport';

$viewer->renderHtml();

?>

 

function onPrintReport(args) {

var printAction = args.printAction;

var report = args.report;

}

 

 

 

Для работы события печати на стороне PHP сервера, необходимо на стороне клиента добавить вызов обработчика событий, а на стороне сервера определить одноименное событие onPrintReport в файле обработчика событий. Подробное описание работы событий находится в разделе Обработчик событий PHP.

 

viewer.php

 

<?php

$viewer = new \Stimulsoft\Viewer\StiViewer();

$viewer->onPrintReport = true;

$viewer->renderHtml();

?>

 

 

handler.php

 

$handler->onPrintReport = function ($args) {

$fileName = $args->fileName;

$printAction = $args->printAction;

 

return \Stimulsoft\StiResult::success();

};

 

 

 

Подробное описание доступных значений аргументов находится в разделе События вьювера.

 

 

Печать отчета из кода

Предусмотрена возможность распечатать отчет из кода без использования функций вьювера. Подробное описание данного функционала находится в разделе генератора отчетов Печать отчета из кода.