Bonjour
Je me casse un peu la tete a essayer de faire des positionnement précis d'étiquettes sur une page A4
Et je dois bien entendu pouvoir le traiter sur différentes imprimante
Je vais expliquer mon approche dans l'espoir de recueillir l'avis d'expert eventuels pouvant me dire si j'oublie qq chose car il me semble que selon l'imprimante j'ai des décalage
A)
Je connais les dimensions precise en mm d'une planche d'étiquette
Marge gauche, marge Top, taille une etiquette et intervalle
Je connais aussi les dimensions d'un A4 en mm : 210 x 297
B)
Avec le printDialog je recupere les informations de base de l'imprimante et je calcule le ratio x et y entre la taille en mm et la taille de page données par le DefaultPageSettings
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 HardX = dlgSettings.PrinterSettings.DefaultPageSettings.HardMarginX; HardY = dlgSettings.PrinterSettings.DefaultPageSettings.HardMarginY; SizeF PrintPageSize = dlgSettings.PrinterSettings.DefaultPageSettings.Bounds.Size; float ratioX = PrintPageSize.Width / Planche.szPageMM.Width; float ratioY = PrintPageSize.Height / Planche.szPageMM.Height;
Sur base de ces information, je n'ai plus qu'a calculer mes positionnement a l'aide d'une regle de 3 tout en tenant compte que la position 0,0 sera en fait a HardX,HardY (exprimé en unité d'impression)
RatioX et RatioY me permettent de transformer les données de la planche en mm en taille d'impression
Aurais-je ommis qq chose ?
Partager