delaio
Messages postés11Date d'inscriptionlundi 13 octobre 2003StatutMembreDernière intervention16 avril 2009
-
26 mars 2009 à 12:42
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 2021
-
16 avril 2009 à 17:05
bonjour à tous,
quand on appelle la procédure "printsetup" pour afficher la fenêtre de
configuration d'imprimante, quickreport ne semble pas gérer les
propriétés des imprimantes (bouton "Propriétés...").
ainsi, lorsque je change le magasin ou la couleur par défaut de telle
ou telle imprimante, l'impression de mon rapport ne prend pas en compte
mes changements (il conserve les paramétrages par défaut de
l'imprimante).
connaissez vous une astuce permettant de passer outre ce problème ?
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 14 avril 2009 à 11:55
(il conserve les paramétrages par défaut de l'imprimante).
normal, les impressions prennent les paramètres de l'imprimante par défaut.
il faut donc les modifier pour telle ou telle impression et quickreport n'y est pour rien dans ce changement..
Voir modifier paramètres d'iimpression par programmation.
delaio
Messages postés11Date d'inscriptionlundi 13 octobre 2003StatutMembreDernière intervention16 avril 2009 14 avril 2009 à 16:31
bonjour cantador,
merci d'avoir pris le temps de répondre à ma question mais je ne saisis pas votre réponse.
c'est justement la modification des paramètres d'impression "par programmation" qui pose problème. quick report autorise, via des variables, les modifications de la configuration de l'impression mais ne semble pas les prendre en compte.
si l'on regarde la fonction printersetup, on s'aperçoit qu'il affecte bien une valeur différente au ColorOption par exemple, en fonction d'un paramétrage en couleur ou en noir et blanc.
Seulement, quelque soit la valeur affectée, l'impression conserve les paramétrages par défaut.
procedure TCustomQuickRep.PrinterSetup;
var ...
begin
...
IF Execute then
begin
PrinterSettings.Copies := Copies;
PrinterSettings.PrinterIndex := aDialog.Printer.PrinterIndex;
Page.Orientation := aDialog.Printer.Orientation;
// catch the user selections
UserPrintersettings.CustomBinCode := aDialog.outputbin;
UserPrintersettings.ExtendedDuplex := aDialog.DuplexCode;
UserPrintersettings.PrintQuality := aDialog.PrintQuality;
UserPrintersettings.Collate := aDialog.Collate;
UserPrintersettings.ColorOption := aDialog.ColorOption; // <----- PB
UserPrintersettings.Copies := aDialog.Copies; // <--------- ICI
UserPrintersettings.Orientation := aDialog.Printer.Orientation;
UserPrintersettings.FirstPage := aDialog.FromPage;
UserPrintersettings.LastPage := aDialog.ToPage;
UserPrintersettings.OutputBin := Printersettings.OutputBin;
...
merci de me donner plus de précision sur la solution que vous souhaitez m'apporter pour que je puisse l'appliquer.
delaio
Messages postés11Date d'inscriptionlundi 13 octobre 2003StatutMembreDernière intervention16 avril 2009 14 avril 2009 à 18:11
oui, logique : je n'ai affiché que les infos pertinentes.
il s'agit d'une fonction quickreport et je ne pense pas être autorisé à divulguer leur source, raison pour laquelle la fonction n'est pas entière. mais elle est visible dans le fichier QuickRpt.pas
j'ai souhaité mettre le doigt sur le fait que quickreport interprète bien la modification des config d'imprimante sans pour autant les prendre en compte lors de l'impression.
il existe forcément une solution pour résoudre ce problème. je ne pense pas être le seul à vouloir changer la couleur de l'impression (n&b ou couleur) avant d'imprimer des fichiers qrp générés par une appli delphi.
delaio.
ps : pour info, on peut facilement reproduire ce problème en copiant dans une form :
- un quickreport
- un qrband dans le qreport
- un qrlabel dans le qrband avec une color font à rouge par exemple
parametrez par défaut votre imprimante en mode couleur, faites un clic droit "prévisualisation" sur votre quickrep1 et configurer votre impression en noir et blanc. votre rapport s'imprimera malheureusement en rouge.
delaio
Messages postés11Date d'inscriptionlundi 13 octobre 2003StatutMembreDernière intervention16 avril 2009 15 avril 2009 à 15:11
"envoyer trop tard ou après le déclenchement de l'impression..." !?!!
non... je ne change pas les configs de l'imprimante après l'impression mais bien évidemment avant.
lorsque l'on est sur le preview de quickreport, les changements des paramètres de l'imprimante ne sont pas pris en compte. je fais bien évidemment mes changements avant de lancer l'impression, et je peux attendre des heures avant d'imprimer, le résultat est le même.
idem si j'affecte directement les valeurs aux propriétés de printersettings.
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 15 avril 2009 à 20:37
essai de faire un truc tout bête , prends la demo Qr2, colle un bouton et change la couleur de la fonte d'un titre du QuickReport dans la forme
"GrpListForm" et imprime..
juste ça et rien d'autre..
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 16 avril 2009 à 17:05
J'utilise peu QuickReport, mais je ne me souviens pas d'avoir rencontré des difficultés (c'est l'ancêtre des traitements des états de delphi..)
c'est lourd mais ça fonctionne..
je me sers de ReportBuilder (v11) aujourd'hui..
Essaie quand même d'envoyer un refresh entre les paramètrages et le print