Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > помогите с печатью


Автор: aalor 23.2.2006, 12:22
проблема вот в чом:
имеется на винте файл, bmp, нуна распечатать, процедура печати:
Код

  if MessageDlg('Insert Paper to Printer', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
    begin
    Printer.BeginDoc;
    bmp1 := TBitmap.Create;
    bmp2 := TBitmap.Create;

    repeat
      bmp1.LoadFromFile(ExtractFileDir(ParamStr(0))+'\Temp\p1.bmp');
      bmp1.Canvas.Pixels[0, 0]:= bmp1.Canvas.Pixels[0, 0];
      //bmp1.PixelFormat := pf24bit;
      //bmp1.HandleType := bmDIB;

      bmp2.Width := Printer.PageWidth;
      bmp2.Height := Printer.PageHeight;

      bmp2.Canvas.CopyRect(Rect(0,0,bmp2.Width,bmp2.Height),
        bmp1.Canvas, Rect(0,0,bmp1.Width,bmp1.Height));
      bmp2.Canvas.Pixels[0, 0] := bmp2.Canvas.Pixels[0, 0];
      //bmp2.PixelFormat := pf24bit;
      //bmp2.HandleType := bmDIB;

      bmp2.SaveToFile(ExtractFileDir(ParamStr(0))+'\Temp\p5.bmp');
      until (bmp2 <> nil) and not bmp2.Empty;

    Printer.Canvas.Draw(0,0,bmp2);
    Printer.EndDoc;
    bmp2.free;
    bmp1.free;
    end;


печать происходит на лазерном принтере "XEROX Phaser 3120", и вот фишка, печать то идёт то не идет, система НЕ ПЕЧАТИ и ПЕЧАТИ выбирается чуть ли не рандом, т.е. может распечатать а потом не распечатать.
если печатать на струйнике или матричном - сбоев нету.
если печатать с bmp1 через StretchDraw, обойдя bmp2 - результат - либо печатает либо не печатает,

просмотрел весь форум - процедурка ""bmp2.Canvas.Pixels[0, 0] := bmp2.Canvas.Pixels[0, 0];"" различий не вносит,
bmp2.PixelFormat := pf24bit;
bmp2.HandleType := bmDIB;
тоже не помогает

ПОМОГИТЕ КТО МОЖЕТ - у меня уже сроки подходят, а я из-за этого глюка прогу не могу сдать
Добавлено @ 12:28
P.S.
при печати на лезере "Lexmark E210" - тот же глюк
Печатать нуна имено на лазере - предполагается оч большой объём печати, и распеч нуна как моно быстрее

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)