Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Leere Seite bei Ausdruck auf Brother MFC 7440n über TPrinter (https://www.delphipraxis.net/143244-leere-seite-bei-ausdruck-auf-brother-mfc-7440n-ueber-tprinter.html)

Ralf Meyer 19. Nov 2009 17:52

Re: Leere Seite bei Ausdruck auf Brother MFC 7440n über TPri
 
Hallo Frank,

nein habe ich nicht. Hier nachfolgend mal der wirklich simple Test-Code der schon nicht funktioniert.
(bzw. nur auf dem Modell nicht.)
Ich habe auch den Aufruf auch schon in die Prozedur zum Ausschalten der Fließkommaberechnung (siehe oben) gesetzt - ohne Erfolg.


Delphi-Quellcode:
Uses
  Printers;
procedure TForm2.cbPrinterChange(Sender: TObject); // Ereignis wenn die Druckerauswahl geändert wird.
Begin
  // Die Druckerauswahl ist nur nötig, wenn nicht der Standarddrucker verwendet wird.
//  Printer.PrinterIndex := printer.Printers.IndexOf( cbPrinter.text ) ; // alte Variante
  Printer.SetPrinter(PChar(cbPrinter.text),PChar('WINSPOOL'),PChar(''),0); // neue Variante
end;

procedure TForm2.DruckeKreuze;
var
  x1,y1,x2,y2 : Integer ;
  mm         : Integer ;
begin
  PrinterDPI    := GetDeviceCaps(Printer.Handle, LOGPIXELSx) ;
  SeitenBreite := Printer.PageWidth ;
  Seitenhoehe := Printer.PageHeight ;

  mm := round ( PrinterDPI / 25.4 ) ;
  Printer.BeginDoc ;
  try
    Printer.Canvas.TextOut( 10 * mm, 10 * mm, 'Drucker: ' ) ;
    Printer.Canvas.TextOut( 30 * mm, 10 * mm, cbPrinter.text ) ;

    Printer.Canvas.TextOut( 10 * mm, 15 * mm, 'DPI: ' ) ;
    Printer.Canvas.TextOut( 30 * mm, 15 * mm, IntToStr( PrinterDPI ) ) ;

    Printer.Canvas.TextOut( 10 * mm, 20 * mm, 'Seitenbreite: ' ) ;
    Printer.Canvas.TextOut( 30 * mm, 20 * mm, IntToStr( Seitenbreite ) ) ;

    Printer.Canvas.TextOut( 10 * mm, 25 * mm, 'Seitenhöhe: ');
    Printer.Canvas.TextOut( 30 * mm, 25 * mm, IntToStr( Seitenhoehe ) ) ;

    x1 := ( SeitenBreite div 2 ) - ( 2 * PrinterDPI ) ;
    x2 := ( SeitenBreite div 2 ) + ( 2 * PrinterDPI ) ;
    y1 := ( SeitenHoehe div 2 ) - ( 2 * PrinterDPI ) ;
    y2 := ( SeitenHoehe div 2 ) + ( 2 * PrinterDPI ) ;



    Printer.canvas.moveto( x1, SeitenHoehe Div 2 ) ;
    Printer.canvas.LineTo( x2, SeitenHoehe Div 2 ) ;

    Printer.canvas.moveto( SeitenBreite Div 2, y1 ) ;
    Printer.canvas.LineTo( SeitenBreite Div 2, y2 ) ;

  finally
    Printer.EndDoc ;
  end;
end;
Gruß Ralf

franktron 20. Nov 2009 14:15

Re: Leere Seite bei Ausdruck auf Brother MFC 7440n über TPri
 
Hast du mal geguckt was in PrinterDPI für ein Wert drin ist

hoika 20. Nov 2009 17:18

Re: Leere Seite bei Ausdruck auf Brother MFC 7440n über TPri
 
Hallo,

probier mal, den Drucker lokal zu benutzen.


Heiko

IngoHe 10. Dez 2009 11:28

Re: Leere Seite bei Ausdruck auf Brother MFC 7440n über TPri
 
Ich hatte exakt das gleiche Problem - neuen, aktuellen Druckertreiber installiert und alles funktionierte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:05 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz