Форум: "Основная";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];
ВнизПротивостояние принтера Найти похожие ветки
← →
XsID (2007-03-22 09:20) [0]Доброго времени!
Появился у нас на работе этикеточный принтер, и теперь пишу программу генерации этикеток и печати их на этот девайс.
Все бы хорошо, но печатает почему-то только небольшой кусок изобржения и очень растянутым.
Делалось так: предварительно в TImage на Canvas создавалось изображение, потом собственно и печаталось
...................
ypix := GetDeviceCaps(Printer.Handle,VertRes);
xpix := GetDeviceCaps(Printer.Handle,HorzRes);
...................
pRect.Top := 0;
pRect.Left := 0;
pRect.Right := xpix;
pRect.Bottom := ypix;
...................
Printer.BeginDoc;
Printer.Canvas.StretchDraw(iRect,Image1.Picture.Bitmap);
Printer.EndDoc;
Подскажите пожалуйста в чем проблемма!
Заранее благодарен
← →
clickmaker © (2007-03-22 09:26) [1]глянь TCustomForm.Print в Forms.pas
← →
Сергей М. © (2007-03-22 09:30) [2]
> Появился у нас на работе этикеточный принтер
А драйвер к нему ?
← →
XsID (2007-03-22 09:32) [3]>А драйвер к нему ?
Куда ж без него :) Пока печатаю с CorelDraw - и все хорошо, да не то что надо
← →
XsID (2007-03-22 09:38) [4]>глянь TCustomForm.Print в Forms.pas
сейчас постараюсь сделать так же :)
← →
Сергей М. © (2007-03-22 09:42) [5]
> XsID (22.03.07 09:32) [3]
> печатаю с CorelDraw - и все хорошо, да не то что надо
Мало ли кроме CorelDraw софта существует)
Более того, я подозреваю, что есть готовый спецсофт для дизайна этикеток под твой конретный принтер или их семейство
← →
XsID (2007-03-22 09:48) [6]>Сергей М.
Да, программ различных море есть. Хороших и плохих. Но этикетку генерировать нужно "на лету". Вот.
← →
Сергей М. © (2007-03-22 09:58) [7]
> этикетку генерировать нужно "на лету"
Не думаю, что для этого нужно рисовать прямо на канве.
← →
clickmaker © (2007-03-22 10:02) [8]
> Не думаю, что для этого нужно рисовать прямо на канве
ну если это программируемый принтер, то можно непосредственно командами через COM / LPT печатать. Как на билетном.
← →
XsID (2007-03-22 10:12) [9]>clickmaker
Написаным тобою методом отлично все печатает на обычном принтере, размер такой как и надо. Но на этикеточном сразу печатает настолько ужасно, что на прямоугольнике 55х40 влазит 7 букв всего-то.
>Сергей М.
А какие есть другие варианты?
>clickmaker
Принтер не програмируемый. Просто принтер :)
← →
clickmaker © (2007-03-22 10:14) [10]
> на прямоугольнике 55х40 влазит 7 букв всего-то
а если уменьшить масштаб?
← →
tesseract © (2007-03-22 10:17) [11]
> Куда ж без него :) Пока печатаю с CorelDraw - и все хорошо,
> да не то что надо
Я напрямую в порт всегда писал. Проблем с масштабированием меньше.
← →
XsID (2007-03-22 10:17) [12]Так а Printer.PageWidth Printer.PageHeight используются
← →
tesseract © (2007-03-22 10:20) [13]
> >clickmakerПринтер не програмируемый. Просто принтер :)
Есть принтеры с поддержкой загрузки шаблонов, есть без.
Ни разу не видел принтера этикеток - не путать с чековыми, без поддержки печати штрихкодов.
Смотри мануал на сайте производителя.
← →
XsID (2007-03-22 10:34) [14]>tesseract
Сайт производителя не при чем. Любая другая программа печатает корректно.
Ничего не с чем не путаю. Этикеточный принтер - принтер, печатающий на рулон этикеток на самоклейке. Там еще есть нож для отслаивания основы. Впрочем все это не важно :). Важно только одно - ПОЧЕМУ так получается?
Может быть Printer.PageWidth и Printer.PageHeight возвращают некорректные значения? Хотя проверял все правильно.
Разрешение принтера - 200 dpi
Формат бумаги: - 50х40
PageWidth - ~400
PageHeight - ~300
50/25,4*200 ~= 400
40/25,4*200 ~= 300
Таким образом видно, что формат определяется верно.
Если изображение растягивается до заданного прямоугольника, то я совсем не понимаю каким макаром оно при печати становится в раз 10 больше....
← →
tesseract © (2007-03-22 10:47) [15]
> Если изображение растягивается до заданного прямоугольника,
> то я совсем не понимаю каким макаром оно при печати становится
> в раз 10 больше....
Как-то встречался с подобной фичёй именно с Tbitmap. И вроде если она Ч/Б.
Вроде CopyMode надо менять или что-то в этом роде, поскольку щас использую resize из GrpahicsEx проблема не возникает.
← →
XsID (2007-03-22 11:08) [16]А что за GraphicsEx?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.068 c