Как отправить управляющие символы на принтер Windows в Crystal Reports?

Мы пытаемся создать Crystal Report, который отправляет управляющие символы непосредственно на принтер, минуя (глючный) драйвер Windows для этого принтера. Кто-нибудь знает способ сделать это из Crystal Report?

Конкретный управляющий символ, который мы пытаемся отправить, — это CHR(2). Однако, когда мы помещаем это в отчет Crystal Report и печатаем на универсальном текстовом принтере, он преобразует символ в точку на выходе. Персонаж отображается в виде рамки в предварительном просмотре Crystal, поэтому я подозреваю, что проблема заключается в драйвере Windows, а не в Crystal.

Устройство представляет собой принтер Datamax. У нас есть драйверы для него, но мы сталкиваемся с различными проблемами - группа инфраструктуры знает о проблемах больше, чем я, я не чувствую, что у меня достаточно информации, чтобы попытаться задать вопрос о конкретной проблеме. Это некоторая комбинация взаимодействия Crystal Reports, Citrix, нашего пакета ERP для конкретного рынка и автоматического выбора принтеров этикеток для соответствующего размера этикеток в зависимости от пользователя во время запуска отчета.


person LeBleu    schedule 05.11.2008    source источник


Ответы (2)


Короткий ответ: вы не можете. В конце концов, это связано с тем, что такие приложения, как Crystal, говорят только на уровне GDI и передают эти данные драйверу принтера для преобразования в PCL/PS и т. д. и передачи на принтер.

Что это за устройство? Что вы пытаетесь достичь?

Если есть драйвер, который работает, но не подходит для устройства, вы можете использовать его. Другой вариант, который немного «хакерский», — это использовать комплект для разработки мини-драйверов и создать свой собственный. Мы сделали это для клиентов, которым мы вставляем наши собственные коды для таких вещей, как нестандартный размер бумаги, где указан размер букв, чтобы обойти приложения, которые не поддерживают нестандартный размер бумаги или имеют какой-то специальный шрифт, к которому нам нужен доступ. . Кроме того, есть некоторые принтеры, которые позволяют вам изменить escape-символ на что-то другое, в зависимости от вашего устройства, которое может работать ИЛИ создать постпроцесс, посредством которого вы печатаете в файл, файл берется, вы изменяете файл печати, ища какой-то специальный синтаксис, который вы ввели и передали файл ... болезненно, но может помочь.

person Douglas Anderson    schedule 06.11.2008
comment
Я не верю, что постобработка жизнеспособна в нашем случае. Отчеты запускаются нашим приложением ERP, поэтому у нас нет ничего, кроме самого Crystal Report и сервера печати Windows, который находится под нашим контролем. - person LeBleu; 06.11.2008

Как правило, вы не можете отправлять escape-символы непосредственно на принтер из Crystal Reports.

Если вам нужен только специальный символ в начале или конце отчета (например, обрезание бумаги или открытие ящика для POS-принтеров), вы можете использовать параметры устройства универсального драйвера принтера и описать последовательность запуска или завершения задания.

Лично я всегда находил рабочий (или совместимый) драйвер для любого принтера (кстати, какая у вас модель принтера?). Драйверы POS-принтеров часто включают специальный «шрифт», позволяющий напрямую отправлять escape-последовательности.

person Arvo    schedule 05.11.2008