Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

Принтер замедляет печать   Найти похожие ветки 

 
ndn ©   (2005-08-27 09:21) [0]

Здравствуйте Уважаемые мастера, у меня появилась проблема с печатью на принтер. Печать происходит из приложения с помощью функций Windows SDK: DrawText (можно центрировать и разбивать слова автоматически), Lineto и MoveTo (рисование линий). Делаю  Escape(hdcPrint, STARTDOC(hdcPrint,lpdi), 8, Pansichar("Документ"), NiL);
далее рисую на Hdc, а затем
Escape(hdcPrint, ENDDOC(hdcPrint), 8, "", NiL);
Не использую STARTPAGE, ENDPAGE, NEWFRAME  так как результат без них аналогичен тому  что и с ними. Но в процессе печати проявляется непонятная мне закономерность: если печать идет в левом верхнем углу документа, то все протекает довольно шустро даже для матричного принтера, печатающего в графическом режиме. Но стоит мне задать начальное смещение (5-10 см.) без разницы что вниз, что в право скорость печати резко падает в несколько раз, хотя печатается тоже самое (перед печатью каждой новой строчки принтер задумывается на несколько секунд, хотя раньше, до смещения, печать этого же документа не вызывала у него такого умственного напряжения). Если убираю смещение, то все происходит опять с нормальной скоростью. Принтер установлен как IBM Proprinter II, обработчик печати  –  winprint, тип данных – RAW, печать идет через порт COM1. Ставил родные драйвера (Olivetti PR2)- результат тот же, то есть я так понял проблема не в неправильной работе драйвера принтера.
Подскажите пожалуйста в чем проблема и как от этого избавиться, так как в день планируется печатать до 300 документов, а с такой скоростью это не возможно.


 
tesseract ©   (2005-08-27 11:44) [1]

Как задаёшь смещение? Да и вообще Com-принтеры вещь тормозная.


 
ndn ©   (2005-08-27 18:21) [2]

Перевожу HdcPrint в режим Lowmetrics и получаю все в 0.1 мм теперь определяю смещение от 0 точки непечатной зоны и вношу корректировку в координаты. Com принтеры хоть и тормозные, но символы в левой половине он печатает с нормальной скоростью.


 
tesseract ©   (2005-08-29 10:27) [3]

>>> STARTPAGE, ENDPAGE, NEWFRAME

Используй это ускоряет печать. Я на EZ-2 так делал. Тормозов ни туда ни обратно не было.
Ты печатаешь в графическом режиме и посылаешь данные построчно?
Или создаёшь картинку только потом отправляешь на печать?


 
ndn ©   (2005-08-31 18:58) [4]

Создаю контекст устройства CreateDC, в нем рисую , а затем по EndDoc  печатается. Попробую использовать эти функции, а можно ли как нибудь указать принтеру что ему надо печатать не с начала листа, а с середины, а то как я понял, при задании координат печатаемой точки, например х=100,у=100, передача данных на порт происходит примерно так = 0000000.....0000001000..., т.е. передаются все предыдущие пустые точки, засчет этого и происходит замедление. Правильна ли моя догадка?
Можно ли задать начало координат в точке х=100, у=0, и теперь на порт надо будет подать всего лишь один нуль, что при передаче по ком порту значительно сэкономит время, и как это сделать?


 
tesseract ©   (2005-08-31 21:29) [5]

На принтер всегда идёт картинка. Если конечно не используется программа с поддержкой печати PCL или Postscript.

Я не знаком с твоим принтером, но как правило по скорости быстрее посмтореть что там пишет драйвер и реализовать прямую передачу в порт. Т.к. не будет задержки и обработки драйвером.


>>Попробую использовать эти функции, а можно ли как нибудь указать принтеру что ему надо печатать не с начала листа, а с середины,

Да принтер через свой язык такую возможность поддерживает.  но насчёт драйвера - ему нужна картинка.



Страницы: 1 вся ветка

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
4-1125582840
Пантелеев Иван
2005-09-01 17:54
2005.11.06
Focus


4-1125318964
Uran
2005-08-29 16:36
2005.11.06
Разрешения в реестре


14-1129617966
syte_ser78
2005-10-18 10:46
2005.11.06
помогите составить техзадание


1-1129609852
7#Z$Ad!*7
2005-10-18 08:30
2005.11.06
Не работает TopItem в компоненте TTreeView


1-1129631371
BorlandC
2005-10-18 14:29
2005.11.06
Как проверить что файл уже открыт?