Einzelnen Beitrag anzeigen

Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#37

Re: Bitmap an den Drucker senden

  Alt 19. Mär 2008, 11:08
So, habe das jetzt bei mir eingebaut und habe nur noch ein Problem:

Wie schicke ich ihm ne zweite Seite?

Ich habe das so versucht:

Delphi-Quellcode:
  myGraphic := TBitmap.Create;
  myCanvasF := TCanvas.Create;
  myCanvasB := TCanvas.Create;
  try
    if FileExists(ExtractFilePath(Application.ExeName) + '!NewCard.bmp') then
      myGraphic.LoadFromFile(ExtractFilePath(Application.ExeName) + '!NewCard.bmp');

    myCanvasF.Handle := PrntHandle;
    X := GetDeviceCaps(PrntHandle,PHYSICALOFFSETX);
    Y := GetDeviceCaps(PrntHandle,PHYSICALOFFSETY);

    GetDIBSizes(myGraphic.Handle, HeaderSize, ImageSize);

    myCanvasF.Draw(0-X, 0-Y, myGraphic);
    myCanvasF.StretchDraw(Rect(0-X, 0-Y, 1027, 648), myGraphic);

    if FileExists(ExtractFilePath(Application.ExeName) + '!NewCard2.bmp') then
    begin
      if @_DCStartPage <> nil then
        _DCStartPage();

      myGraphic.LoadFromFile(ExtractFilePath(Application.ExeName) + '!NewCard2.bmp');

      myCanvasB.Handle := PrntHandle;
      myCanvasB.Draw(0-X, 0-Y, myGraphic);
      myCanvasB.StretchDraw(Rect(0-X, 0-Y, 1027, 648), myGraphic);
    end;
  finally
    myGraphic.Free;
    myCanvasF.Free;
    myCanvasB.Free;
  end;
  Result := _DCContinue(0);
Bei diesem Code wird die zweite Seite auf die erste Seite gedruckt und die erste gar nicht.
Alle Funktionen mit dem Underscore sind aus einer anderen Applikation die aufgerufen werden und die den Druckjob verwalten.
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat