IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Positionnement precis sur PrintDocument


Sujet :

Windows Forms

  1. #1
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Positionnement precis sur PrintDocument
    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 ?
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  2. #2
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Bonjour

    Je viens de découvrir le premier piege inatendu !
    Sur certaines imprimante, le HardMargin deborde sur la taille des étiquettes !!

    Pas étonant dans ce cas que le subtil calcul ne donne pas le résultat espéré !!
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/05/2007, 10h54
  2. Réponses: 2
    Dernier message: 21/03/2007, 15h27
  3. Réponses: 2
    Dernier message: 06/12/2006, 13h36
  4. positionnement différent sur firefox et explorer
    Par speedylol dans le forum Mise en page CSS
    Réponses: 14
    Dernier message: 22/11/2006, 16h17
  5. contraindre deux elements positionné à rester sur la meme ligne
    Par ChtiGeeX dans le forum Mise en page CSS
    Réponses: 14
    Dernier message: 18/10/2006, 19h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo