Форум: "WinAPI";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];
ВнизМедленная печать на матричном принтере Найти похожие ветки
← →
ndn © (2005-08-11 08:36) [0]Здравствуйте, Уважаемые мастера!!!
У меня появилась проблема с печатью на матричном принтере. Принтер Ollivetti Pr2, - матричный, установлен как IBM proprinter II, Печать происходит из под винды. Необходимо напечатать печати (квадрат нарисованный линиями и текст внутри), все это печатается с помощью функций LineTo и DrawText, но печать при этом происходит с очень медленной скорость, особенно вертикальные линии. Подскажите пожалуйста как ускорить вывод на печать. Пробовали ставить родные драйвера под винду, результат не изменился. Возможно ли использовать псевдографику для печати печатей и если да то как, желательно с примером (функция на входе берет координаты левого верхнего угла и печатает с этой позиции).
← →
Leonid Troyanovsky © (2005-08-11 09:24) [1]
> ndn © (11.08.05 08:36)
> II, Печать происходит из под винды. Необходимо напечатать
> печати (квадрат нарисованный линиями и текст внутри), все
> это печатается с помощью функций LineTo и DrawText, но
> печать при этом происходит с очень медленной скорость, особенно
..
> результат не изменился. Возможно ли использовать псевдографику
> для печати печатей и если да то как, желательно с примером
Если оный принтер поддерживает ESC,
если на нем есть собс-ный шрифт, изображающий псевдографику,
и если качество получаемого изображения устроит,
то можно попробывать
PrintLineToGeneric( #27#112#0#20#80 );
where
Uses WinSpool;
Const
GenericPrinter: Pchar = "Universal/Nur Text";
// Change to systems generic drivers name or Epson printer name
Procedure PrintLineToGeneric(Const line: string );
Var
BytesWritten: DWORD;
hPrinter: THandle;
DocInfo: TDocInfo1;
Begin
If not WinSpool.OpenPrinter(GenericPrinter, hPrinter, nil) Then
raise exception.create("Printer not found");
Try
DocInfo.pDocName := "MyDocument";
DocInfo.pOutputFile := Nil;
DocInfo.pDatatype := "RAW";
If StartDocPrinter(hPrinter, 1, @DocInfo) = 0 Then
Abort;
Try
If not StartPagePrinter(hPrinter) Then
Abort;
try
If not WritePrinter(hPrinter, @line[1], Length(line), BytesWritten)
Then
Abort;
Finally
EndPagePrinter(hPrinter);
End;
Finally
EndDocPrinter(hPrinter);
End;
Finally
WinSpool.ClosePrinter(hPrinter);
End;
End;
Peter Below (TeamB) 100113.1...@compuserve.com)
или Escape
http://groups-beta.google.com/group/fido7.ru.delphi.chainik/msg/c68e79b088787eab
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c