Dot-Matrix режим

Dot-matrix вьювер предназначен для предварительного просмотра отчета перед печатью на матричном принтере. Матричный принтер предназначен для печати только текста и символов псевдографики. Соответственно вьювер отображает только текст и границы объектов в виде символов псевдографики. На рисунке снизу представлено окно Dot-matrix вьювера:

 

 

img_1 Панель инструментов (Toolbars) Dot-matrix вьювера.

img_2 Панель отображения текста отчета.

img_3 Панель параметров отображаемого отчета.

 

 

Dot-Matrix Viewer Settings for WPF

 

Dot-Matrix вьювер можно настроить из кода используя статические свойства. В зависимости от значения статических свойств в Dot-matrix вьювере будут определены те или иные параметры. Рассмотрим на примере свойства Автообновление (Auto Refresh). На рисунке снизу представлено окно Dot-matrix вьювера:

 

 

 

Как видно из рисунка, свойство Автообновление (Auto Refresh) включено, значит статическое свойство Dot-matrix вьювера AutoRefresh установлено в значение true. Если статическое свойство AutoRefresh установить в значение false, то свойство Автообновление (Auto Refresh) в Dot-matrix вьювере будет выключено. Добавим ниже приведенный код в код проекта:

 

C#

...

StiOptions.Viewer.DotMatrix.AutoRefresh = false;

...

 

 

Таким образом, свойство Автообновление (Auto Refresh) будет выключено. На рисунке снизу представлено окно Dot-matrix вьювера с выключенным автообновлением:

 

 

 

Большинство значений параметров можно установить с помощью статических свойств.

 

 

DotMatrix and Escape Codes

 

Полноценного управления матричным принтером в Stimulsoft Reports.Wpf нет, но начиная с версии 2009.xx в Dot-Matrix вьювере можно использовать Escape-последовательности в тексте для изменения параметров: размер встроенных шрифтом матричного принтера, их начертание и др. Ниже приведен пример Escape-последовательности в тексте:

 

Normal text <#b> Bold text <#/b><#i> Italic text <#/i> Again normal text

 

В версии 2010.xx Stimulsoft Reports.Wpf появилась более расширенная поддержка Escape-кодов. Для ввода Escape-последовательности в текст надо использовать команды вида <#command>.

 

Также автоматически вставляются команды выбора жирного, наклонного или подчеркнутого начертания в зависимости от установленного стиля шрифта текстового компонента. При печати на матричный принтер и при экспорте в текстовый формат эти команды заменяются на соответствующие Escape-последовательности. Для задания соответствий используется класс StiEscapeCodesCollection. Он унаследован от класса Hashtable и представляет собой коллекцию пар ключ-значение, в которой ключом является команда, а значением - соответствующая Escape-последовательность. Для разных типов принтеров можно задавать разные коллекции с разным набором команд. Хранятся коллекции в статической переменной StiOptions.Export.Txt.EscapeCodesCollectionList. По умолчанию созданы следующие коллекции: "None", "EpsonFX", "Oki ML92/93". Коллекция "None" пустая и служит для вывода текста без escape-кодов.

 

Command/Collection

EpsonFX

Oki ML92/93

b

ESC E

ESC T

/b

ESC F

ESC I

i

ESC 4

 

/i

ESC 5

 

u

ESC -1

ESC H

/u

ESC -0

ESC D

sup

ESC S0

ESC J

/sup

ESC T

ESC K

sub

ESC S1

ESC L

/sub

ESC T

ESC M

condensed

0x0F

0x1d

/condensed

0x12

0x1e

elite

ESC M

0x1c

pica

ESC P

0x1e

doublewidth

ESC W1

0x1f

/doublewidth

ESC W0

0x1e

 

 

Можно добавлять новые коллекции или изменять существующие. Выбор нужной коллекции осуществляется по имени. Если коллекция с нужным именем не найдена, используется коллекция "None". Имя коллекции можно выбрать в настройках Dot-Matrix Viewer или передать в качестве параметра в методы экспорта и печати.