![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Печать на матричный EPSON TM-U950 [D5, WinXP]
DmiSbr © (2008-12-08 10:16:00)Добрый день !
Может кто сталкивался с таким чудом (EPSON TM-U950) и смог его победить ? Опробовал несколько способов печати. Печать на ленту происходит нормально (печать в порт LPT1), а вот на подкладной документ (через spoller) не хочет.
Заранее благодарен за любую подсказку.
tesseract (2008-12-08 19:24:00) [1]
> С "рендерить и бросать на принтер в графическом режиме"
> пока не думал.
А подумай, курить придеться в пять раз меньше. Всего одну команду реализовать.
Сергей М. (2008-12-08 15:41:00) [2]Один-в-один и не будет. ибо на то и хрень.
А про два-в-один мы ничего не знаем.
DmiSbr (2008-12-08 15:04:00) [3]>tesseract
Драйвер ставлю. Вообще с такой фигней первый раз столкнулся, потому и руками развел от бессильности. Доки уже пытаюсь курить. С "рендерить и бросать на принтер в графическом режиме" пока не думал.
>Сергей М.
Она ни один-в-один, ни два-в-один не работает. А другого варианта нету
Сергей М. (2008-12-08 14:42:00) [4]
> хрень взята с delphiworld.narod.ru
Ты ее процитировал здесь один-в-один ?
tesseract (2008-12-08 14:30:00) [5]
> Но из программы через очередь печатать никак не хочет.
Ты на него драйвер ставишь ? Жесть. Фискальник он же не принтер, надо курить доки и смотреть на печаться подкладного документа, обычно оптимальный вариант рендерить и бросать на принтер в графическом режиме.
DmiSbr (2008-12-08 14:29:00) [6]Согласен.
Кстати хрень взята с delphiworld.narod.ru
Зы, есть еще варианты, но не лучше.
Может быть есть вариант, который будет работать ?
Сергей М. (2008-12-08 14:24:00) [7]И не будет.
В s, судя по приведенному тобой коду, - полная хрень.
DmiSbr (2008-12-08 14:20:00) [8]>Stream.WriteBuffer(s^, StrLen(s));
Не-а, не печатает
Сергей М. (2008-12-08 13:17:00) [9]
> имел в виду из моей программы
Stream.Write Buffer(s ^, StrLen(s));
DmiSbr (2008-12-08 12:42:00) [10]>Сергей М.
>Блокнот, надо понимать, - это не программа ?
Я имел в виду из моей программы. На всякий случай код:
var
pcbNeeded: DWORD;
FPrinterHandle: THandle;
FJob: PADDJOBINFO1;
Stream: TFileStream;
s: PChar;
begin
if OpenPrinter('Epson950', FPrinterHandle, nil) then
begin
GetMem(FJob, 1024);
AddJob(FPrinterHandle, 1, FJob, 1024, pcbNeeded);
Stream := TFileStream.Create(FJob.Path, fmCreate);
Stream.Write(s, length(s));
Stream.Free;
ScheduleJob(FPrinterHandle, FJob.JobID);
FreeMem(FJob);
ClosePrinter(FPrinterHandle);
end;
Сергей М. (2008-12-08 12:30:00) [11]
> блокнот.. печатает на подкладной
> документ
> из программы через очередь печатать никак не хочет
Блокнот, надо понимать, - это не программа ?
DmiSbr (2008-12-08 11:52:00) [12]>tesseract
>Спулер ? Често говоря большее извращение придумать страшно.
Дело в том что, нужно сделать чтобы был выбор: печатать либо только на подкладной документ, либо на ленту. Ничего такого, типа автоматической печати на подкладной документ после чека, не происходит. То есть посылаешь в порт - печатает на ленту. Открываешь блокнот, пишешь текст - печатает на подкладной документ. Но из программы через очередь печатать никак не хочет. Хотя в очереди видно, что документ в очереди появляетя, и так же успешно пропадает.
KilkennyCat (2008-12-08 10:37:00) [13]
> tesseract ©
а вдруг он один на всех :)
KilkennyCat (2008-12-08 10:36:00) [14]http://support.epson.ru/products/manuals/200002/uni-mini-manual.pdf
tesseract (2008-12-08 10:35:00) [15]
> через spoller)
Спулер ? Често говоря большее извращение придумать страшно. Все фискальники подкладной документ отдельно добивают после чека, они ещё бывают фискализированные и не очень.