Печать отчета
Во вьювере предусмотрено несколько вариантов печати отчета. Каждый имеет свои особенности, достоинства и недостатки.
Печать будет осуществляться посредством экспортирования отчета в 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.WITH_PREVIEW |
Печать в HTML формат с предварительным просмотром во всплывающем окне. |
Например, требуется установить режим печати только в PDF формат:
app.py |
from stimulsoft_reports.viewer import StiViewer from stimulsoft_reports.viewer.enums import StiPrintDestination
viewer = StiViewer() viewer.options.toolbar.printDestination = StiPrintDestination.PDF
|
Вьювер имеет возможность полностью отключить печать отчета, если она не требуется. Для этого необходимо установить значение False для свойства showPrintButton:
app.py |
from stimulsoft_reports.viewer import StiViewer
viewer = StiViewer() viewer.options.toolbar.showPrintButton = False
|
При необходимости выполнения каких-либо действий перед печатью отчета, предназначено событие onPrintReport. В аргументах события будут переданы тип печати отчета и сам отчет, отправленный на печать.
app.py |
from stimulsoft_reports.viewer import StiViewer from stimulsoft_reports.events import StiReportEventArgs
def printReport(args: StiReportEventArgs): printAction = args.printAction report = args.report
viewer = StiViewer() viewer.onPrintReport += printReport viewer.onPrintReport += 'printReport'
|
viewer.html |
<script> function printReport(args) { let printAction = args.printAction; let report = args.report; } </script>
|
Подробное описание доступных значений аргументов находится в разделе События вьювера.
Предусмотрена возможность распечатать отчет из кода без использования функций вьювера. Подробное описание данного функционала находится в разделе генератора отчетов Печать отчета из кода.