1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| var
H: integer;
begin
Printer.Orientation := poLandscape;
// On place dans une variable le handle de l'imprimante
H := Printer.handle;
// SetMapMode(H,MM_HIMETRIC) ;
Details.Clear ;
Details.Lines.Add(Printer.Printers[Printer.PrinterIndex]) ;
//La constante LOGPIXELSX nous fournit la résolution de l'imprimante
Details.Lines.Add(format('Résolution de l''imprimante : %d ppp', [GetDeviceCaps(H, LOGPIXELSX)]));
// Printer.GetPrinter();
//La constante HORZSIZE nous fournit la largeur en millimètres
Details.Lines.Add(format('Largeur zone imprimable : %d mm', [GetDeviceCaps(H, HORZSIZE)]));
//La constante VERTSIZE nous fournit la hauteur en millimètres
Details.Lines.Add(format('Hauteur zone imprimable : %d mm', [GetDeviceCaps(H, VERTSIZE)]));
//La constante HORZRES nous fournit la largeur en pixels
Details.Lines.Add(format('Largeur zone imprimable : %d pixels', [GetDeviceCaps(H, HORZRES)]));
//La constante VERTRES nous fournit la hauteur en pixels
Details.Lines.Add(format('Hauteur zone imprimable : %d pixels', [GetDeviceCaps(H, VERTRES)]));
{ Vous pouvez voir ici qu'il est maintenant facile de calculer le rapport entre les pixels }
{ et les millimètres sur votre page imprimée 1 pixel horizontal imprimante = }
{ GetDeviceCaps(H, HORZSIZE) / GetDeviceCaps(H, HORZRES) }
{La constante PHYSICALOFFSETX nous fournit la taille en pixels de la zone }
{ non imprimable à partir du bord gauche de la feuille}
Details.Lines.Add(format('pixels non imprimables à gauche: %d', [GetDeviceCaps(H, PHYSICALOFFSETX)]));
{La constante PHYSICALOFFSETY nous fournit la taille en pixels de la zone }
{ imprimable à partir du bord gauche de la feuille}
Details.Lines.Add(format('pixels non imprimables en haut: %d', [GetDeviceCaps(H, PHYSICALOFFSETY)]));
//La constante PageWidth nous fournit la largeur de la page en px
Details.Lines.Add(format('Printer.PageWidth : %d pixels', [Printer.PageWidth]));
//La constante PageHeight nous fournit la hauteur de la page en px
Details.Lines.Add(format('Printer.PageHeight : %d pixels', [Printer.PageHeight]));
//La constante Title nous fournit le nom réseau
Details.Lines.Add('Printer.Title : '+Printer.Title ); |
Partager