Быстрая матричная печать на PHP - PullRequest
1 голос
/ 23 ноября 2010

Мой клиент имеет старое приложение на основе foxpro в Windows и хотел сделать его веб-ориентированным на PHP / MySQL.Единственной проблемой является печать их различных отчетов / квитанций.Это приложение на основе foxpro, обеспечивающее быструю печать на матричных принтерах с использованием некоторого режима и т. Д. (Извините, я не уверен здесь).

Итак, если есть php-форма, созданная php, и мы хотим распечатать ее, она переходит на принтер и начинает печатать каждую строку (повторяя каждую строку несколько раз, чтобы сделать ее жирной и медленной).Это поведение по умолчанию и для других приложений, будь то Word / Excel и т. Д., Но лишь немногие старые приложения, такие как текстовый файл на основе DOS, при печати снова будут печататься очень быстро (печать строки выполняется только один раз, поэтому, хотя и получается грубая, но быстрая).

Есть идеи, как этого добиться с помощью PHP?любые указатели будут полезны.

Ответы [ 3 ]

2 голосов
/ 30 января 2013

Используйте Firefox и надстройку JSPrintSetup на этой ссылке для тихой печати. ​​

Пример кода, демонстрирующий использование JSPrintSetup для настройки полей печати и вызова метода автоматической печати (без диалогового окна печати).

// set portrait orientation
jsPrintSetup.setOption('orientation', jsPrintSetup.kPortraitOrientation);
// set top margins in millimeters
jsPrintSetup.setOption('marginTop', 0);
jsPrintSetup.setOption('marginBottom', 0);
jsPrintSetup.setOption('marginLeft', 0);
jsPrintSetup.setOption(' marginRight', 0);
// set empty page header
jsPrintSetup.setOption('headerStrLeft', '');
jsPrintSetup.setOption('headerStrCenter', '');
jsPrintSetup.setOption('headerStrRight', '');
// set empty page footer
jsPrintSetup.setOption('footerStrLeft', '');
jsPrintSetup.setOption('footerStrCenter', '');
jsPrintSetup.setOption('footerStrRight', '');
// Suppress print dialog
jsPrintSetup.setSilentPrint(true);
// Do Print
jsPrintSetup.print();
// Restore print dialog
jsPrintSetup.setSilentPrint(false);
0 голосов
/ 23 мая 2014

Управляющие коды EPSON ESC / P Выбор принтера EPSON ESC / P в вашем программном обеспечении позволяет вам использовать расширенные шрифты и графику.Общая операция:

ESC @, ESC U Подача бумаги:

FF, LF, ESC 0, ESC 1, ESC 2, ESC 3, ESC A, CR Формат страницы:

ESC (C, ESC C, ESC C 0, ESC Q, ESC l, ESC (c, ESC N, ESC O, ESC (U Печать положения движения:

ESC $, ESC \, ESC D, HT, ESC B, VT, ESC J Выбор шрифта:

ESC k, ESC x, ESC y, ESC P, ESC M, ESC g, ESC p, ESC 4, ESC 5, ESC E, ESCF, ESC! Улучшение шрифта:

ESC W, DC4, SO, DC2, SI, ESC w, ESC G, ESC H, ESC T, ESC S, ESC - Интервал:

ESCОбработка символов пробела:

ESC t, ESC (t, ESC R, ESC%, ESC &, ESC:, ESC I, ESC 6, ESC 7-битное изображение:

ESC K, ESCL, ESC Y, ESC Z, ESC *, ESC ^ Штрих-код:

ESC (B

Коды управления эмуляцией IBM PPDS Этот принтер эмулирует IBM Proprinter с помощью приведенных ниже команд. Для получения подробной информациисм. справочное руководство IBM PPDS. Общие операции:

NUL, DC3, ESC j, BEL, CAN, DC1, ESC Q, ESC [K, ESC U Подача бумаги:

FF,LF, ESC 5, ESC A, ESC 0, ESC 1, ESC 2, ESC 3, CR, ESC] Формат страницы:

ESC C, ESC C0, ESC X, ESC N, ESC O, ESC 4Движение положения печати:

ESC d, ESC R, ESC D, HT, ESC B, VT, ESC J Выбор шрифта:

DC2, ESC P, ESC:, ESC E, ESC F, ESC I, ESC [d, ESC [I Улучшение шрифта:

DC4, SO, ESC SO, ESC W, ESC [@, SI, ESC SI, ESC G, ESC H, ESC T, ESC S, ESC -, ESC _ Интервал:

BS, SP Обработка символов:

ESC 6, ESC 7, ESC [T, ESC ^, ESC ¥ Битовое изображение:

ESC K, ESC L, ESC Y, ESC Z Штрих-код:

ESC [f, ESC [p Download:

ESC =

0 голосов
/ 23 ноября 2010

Чтобы понять, на чем копается Пекка. Если вы используете PHP как локальный язык, а не через Интернет, вы можете получить доступ к локальной системе напрямую и на достаточно низком уровне, чтобы печатать так, как вы хотите, с помощью программ, которые печатают эти текстовые файлы DOS.

Но я подозреваю, что вы имеете в виду через Интернет, и в этом случае ответ будет твердым нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...