Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Печать из PHP на матричный принтер с рулонной бумагой
 
 автор: Борис Гаврилов   (21.12.2010 в 14:58)   письмо автору
 
 

Здравствуйте.
Нуждаюсь в помощи. Создаю программу для обменников валюты на php. Застрял на следующей задаче. Результаты сделок и прочее необходимо печатать на матричном принтере на рулонную бумагу (столько строк, сколько есть в печатаемой странице и не более, чтобы далее можно было отрывать часть бумаги, вместо того, чтобы тратить целый лист a4 на сделку, информация о которой помещаются на одной строке )
Как реализовать данную задачу на php? Полезны будут любые ссылки мнения и т.д.

  Ответить  
 
 автор: sim5   (21.12.2010 в 15:12)   письмо автору
 
   для: Борис Гаврилов   (21.12.2010 в 14:58)
 

Управление печатью происходит за счет ESC-последовательностей (команд), описание которых можно найти в сети. А что на РНР то, надо понимать вы локальное приложение делаете?

  Ответить  
 
 автор: Борис Гаврилов   (21.12.2010 в 15:24)   письмо автору
 
   для: sim5   (21.12.2010 в 15:12)
 

Именно. Далее будет развитие и домен, для управления всеми пунктами обмена.

  Ответить  
 
 автор: Trianon   (21.12.2010 в 15:31)   письмо автору
 
   для: Борис Гаврилов   (21.12.2010 в 15:24)
 

Какой банк?

  Ответить  
 
 автор: Борис Гаврилов   (21.12.2010 в 15:34)   письмо автору
 
   для: Trianon   (21.12.2010 в 15:31)
 

Я пишу из Эстонии, город Нарва, к банкам данный обменник отношения не имеет.

  Ответить  
 
 автор: Trianon   (21.12.2010 в 15:38)   письмо автору
 
   для: Борис Гаврилов   (21.12.2010 в 15:34)
 

http://web.archive.org/web/20040324122120/http://www.epson.co.uk/support/manuals/pdf/ESCP/Part_1.pdf
http://web.archive.org/web/20040324122120/http://www.epson.co.uk/support/manuals/pdf/ESCP/Part_2.pdf

Вот как.
Просто у нас в РФ любые обменники вне банков запрещены с октября.

  Ответить  
 
 автор: sim5   (21.12.2010 в 15:35)   письмо автору
 
   для: Борис Гаврилов   (21.12.2010 в 15:24)
 

А более подходящего языка, чем РНР для этого нет? Если вы будете печатать из под браузера, то о полном контроле над печатью можете забыть.

  Ответить  
 
 автор: Борис Гаврилов   (21.12.2010 в 15:39)   письмо автору
 
   для: sim5   (21.12.2010 в 15:35)
 

Мой срок решения задачи до НГ. Программирую только на PHP, изучать новое нету времени. А если генерировать pdf и печатать уже его из файла?

  Ответить  
 
 автор: sim5   (21.12.2010 в 15:41)   письмо автору
 
   для: Борис Гаврилов   (21.12.2010 в 15:39)
 

Проще генерировать обычный текст и его печатать.

  Ответить  
 
 автор: Trianon   (21.12.2010 в 15:42)   письмо автору
 
   для: Борис Гаврилов   (21.12.2010 в 15:39)
 

pdf оперирует страницами.
Вы же хотите от страниц отойти в сторону непрерывного потока строк.

  Ответить  
 
 автор: Борис Гаврилов   (21.12.2010 в 15:49)   письмо автору
 
   для: Trianon   (21.12.2010 в 15:42)
 

А где необходимо давать эти escape команды для печати?

  Ответить  
 
 автор: sim5   (21.12.2010 в 16:10)   письмо автору
 
   для: Борис Гаврилов   (21.12.2010 в 15:49)
 

В поток печати они выдаются, только "нигде", а "когда" необходимы, и которые необходимы.

  Ответить  
 
 автор: Борис Гаврилов   (21.12.2010 в 16:13)   письмо автору
 
   для: sim5   (21.12.2010 в 16:10)
 

Я имел ввиду другое. Ситуация: нажимаю кнопку "печать", исполняется файл print.php? Именно в этом файле должно быть формирование документа для печати с использованием ESC команд?

  Ответить  
 
 автор: sim5   (21.12.2010 в 16:24)   письмо автору
 
   для: Борис Гаврилов   (21.12.2010 в 16:13)
 

Кнопку чего? Запускаете свое приложение, чего оно там у вас делает мне не ведомо, но когда вы отдаете документ на печать, вместе с данными печати вы должны отправлять и команды на принтер, те которые необходимы, например, закончить печать.
Принтеры расширяют последоватнельности команд, например в инструкциях к матричным Epson были всегда описаны такие команды как-то установку шрифтов и их стилей, формат документа и его границы и т.п. и т.д. Что вам конкретно надо, и надо будет ли, я сказать не могу.

  Ответить  
 
 автор: Trianon   (21.12.2010 в 23:56)   письмо автору
 
   для: Борис Гаврилов   (21.12.2010 в 15:49)
 

В потоке данных принтеру.
Обычно этим занимается драйвер принтера, к слову сказать..

  Ответить  
 
 автор: Борис Гаврилов   (22.12.2010 в 14:33)   письмо автору
 
   для: Trianon   (21.12.2010 в 23:56)
 

Почти нашёл решение. Оно начиналось с подключения php_printer.dll из PECL 5.2.6 и использования printer_write(). Копаю глубоко пока что в эту сторону. Закончу и протестрирую - отпишусь. Может у кого-то есть мнения/опыт в процессе создания решения?

  Ответить  
 
 автор: nikita2206   (22.12.2010 в 22:57)   письмо автору
 
   для: Борис Гаврилов   (22.12.2010 в 14:33)
 

Я надеюсь матричный принтер у вас есть? Чтобы протестить
Задача на редкость неординарная, побольше бы таких на форуме, было бы интересно.

  Ответить  
 
 автор: Борис Гаврилов   (23.12.2010 в 13:10)   письмо автору
 
   для: nikita2206   (22.12.2010 в 22:57)
 

Принтер матричный есть. Пока на нём не тестировал. Но на обычном принтере printer_write() выводит на печать всё чётко.
P.S Пришлось делать откат php на версию 5.2.12, т.к. PECL 5.2.6 php_printer.dll видимо не совместим с 5.3.x.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования