Bonjour tout le monde,
J'utilise Delphi 6 pour imprimer différents documents. et j'ai découvert un problème un peu bizzare que je n'arrive pas à résoudre. J'ai reproduis ce problème sur un petit projet tout simple.
J'ai une imprimante physique qui est installée deux fois sur mon serveur.
- 1 fois pour une impression couleur (PRINTER_NTM_COLOR)
- 1 fois pour une impression noir/Blanc. (PRINTER_NTM_NB)
Ces imprimantes sont partagées sur mes postes clients. ce qui fait que j'ai les imprimantes suivantes :
- \\MON_SERVEUR\PRINTER_NTM_COLOR
- \\MON_SERVEUR\PRINTER_NTM_NB
Si je fais une impression depuis Word ou Excel, pas de problème, l'imprimante COLOR imprimer en couleur, l'imprimante NB imprime en noir/blanc.
J'ai la petite application de test suivante :
Et là, que j'imprime avec l'imprimante couleur (PrinterIndex = 4) ou l'imprimante Noir/Blanc (PrinterIndex = 5), tout s'imprime toujours en noir/blanc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 procedure TForm1.Button1Click(Sender: TObject); begin Printer.BeginDoc; Printer.Canvas.Brush.Color:=clWhite; Printer.Canvas.FillRect(Printer.Canvas.ClipRect); Printer.Canvas.Brush.Style:=bsSolid; Printer.Canvas.Font.Color:=clRed; Printer.Canvas.Font.Size:=20; Printer.Canvas.TextRect(Rect(200,200,Printer.PageWidth-200,Printer.PageHeight-200), 200, 200, 'Test d''impression DELPHI'); Printer.Canvas.TextRect(Rect(200,1000,Printer.PageWidth-200,Printer.PageHeight-1000), 200, 1000, Label1.Caption); Printer.EndDoc; end; procedure TForm1.FormShow(Sender: TObject); begin //PrinterIndex := 4 // Color //PrinterIndex := 5 // Noir/Blanc Printer.PrinterIndex:=4; Label1.Caption:=Printer.Printers[Printer.PrinterIndex]; //nom de l'imprimante Printer.Title:='TEST '+Label1.Caption; end;
Si je n'ai qu'une seule imprimante couleur, le texte s'imprime bien en couleur.
Est-ce que quelqu'un a déjà rencontré ce problème. Y a-t-il un moyen de le résoudre ?
merci d'avance
Partager