Проблемы с печатью из PHP

roman_rosluk

Новичок
Проблемы с печатью из PHP

Помогите плиз.
Имеется: OS Windows 2003, php 4.3.3, printer Epson LX-300+

Задача: Напечатать чек на принтере и остановить промотку бумаги после завершения печать.
У меня печатает, но проматывает бумагу до длины формата А4.
Установка размеров бумаги статически не подходит, к.т. чек может быть длинной в 8 см и больше.

Моя функция печати (почему то в ней не срабатывают функции printer_set_option();):

PHP:
<?
function print_check($zak_num){
		global $db;
		$scale = 1;
		if ($row_z = mysql_fetch_array(mysql_query("SELECT * FROM zakaz WHERE zak_num=$zak_num",$db))){
			$row = mysql_fetch_array(mysql_query("SELECT * FROM sett_print WHERE id=2",$db));
			
			$s = 1;

			$offset_y = 0;
			$offset_x = 0;
			
			$handle = printer_open($row['name']);
			printer_set_option($handle, PRINTER_COPIES, 2);
			printer_set_option($handle, PRINTER_PAPER_FORMAT, PRINTER_FORMAT_CUSTOM);
			printer_set_option($handle, PRINTER_PAPER_WIDTH, 105);
			$rows_count = mysql_num_rows(mysql_query("SELECT * FROM zakaz_dishes WHERE zak_num=$zak_num",$db));
			printer_set_option($handle, PRINTER_PAPER_LENGTH, (30+5*$rows_count+25));
			printer_start_doc($handle, "My Document");
			printer_start_page($handle);

// вставка текста и отрисовка табличек
			
			printer_end_page($handle);

			printer_end_doc($handle);

			printer_close($handle);

		}
	}
?>
Спасибо за помощь (любую).
 

Dreammaker

***=Ф=***
Никогда таким извратом не занимался.. :) как печать из php,
но что на первый взгляд бросилось в глаза.

Может PRINTER_PAPER_WIDTH и PRINTER_PAPER_LENGTH
нужно определить до вызова
printer_set_option($handle, PRINTER_PAPER_FORMAT, PRINTER_FORMAT_CUSTOM);

Хотя в мануале и сказано, что "if PRINTER_PAPER_FORMAT is set to PRINTER_FORMAT_CUSTOM,", но можно попробовать... :)
 

Kelkos

Сам себе программер
хм.. когдато давно работал с принтером почти таким же, но делал проще.. просто передавал управляющие символы напрямую и всё..
в инете можно найти таблицу управляющих символов и команд.. тем более для матричных епсонов.
 
Сверху