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

VB.NET Discussion :

impression décalée sur la droite ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Par défaut impression décalée sur la droite ?
    Bonjour,

    J'ai développé un logiciel pour imprimer de petit rapport spécifique (courbe de pression, information technique ...) et ce dernier fonctionne a merveille sur mon imprimante. Cependant un testeur à essayé sur son informatique et le rapport s'imprimer avec un décallage de l'order de +/-10mm sur la droite par rapport à l'apperçu ecran qu'il obtient (identique au mien).

    J'utilise VB.NET Framework 3.5 et pour l'impression, j'utilise un printdocument et la "boucle" PrintDocument1_PrintPage et la gestiondu e.HasMorePages ...

    Comment peut-on avoir un décallage sur la droite entre un apperçu parfait et une impression papier sur un post informatique, dois-je initialiser des variables de marge de l'imprimante via un code ?

    Merci pour votre aide à tous

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Bonsoir,

    pourrait-on voir le code?

    Il ne faut pas oublier que quand on fait un préview, le code d'impression est appelé une première fois.
    Quand vous appuyez sur l'imprimante, il est appelé une seconde fois.
    Si vous avez mi les dimensions par une variable à laquelle vous ajouter un nombre dans le code d'impression, ce décalage sera rajouté à chaque appuis sur l'imprimante.

    Mais ce ne sont que des suppositions, sans le code il est difficile de vous aider

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Par défaut
    le code est enormeeeeee dur dur de le copier mais pour info ça fonctionne tres tres bien sur mon PC, c'est sur un autre poste informatique que ça deconne. effectivement lors de l'impression on relance cette boucle de création dans le canvas d'impression.

    Mais je ne gére pas les marges, pour donner une idée :

    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
     
    PrintDocument1.DocumentName = "document"
     
    e.Graphics.PageUnit = GraphicsUnit.Millimeter
    e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
    textArea = New Rectangle(10, 40, 190, 5)
    textFormat.Alignment = StringAlignment.Center
    e.Graphics.DrawString( .... )
     
    ...
     
                        If currentpagetest < Form1.fichier.Mestest.Count Then
                            e.HasMorePages = True
                        Else
                            e.HasMorePages = False
                            nbpage = 0
                        End If
                    End If

  4. #4
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Dans ce cas il faudrait regarder au niveau de pd.PrinterSetting.DefaultPageSetting.Margins.
    Voir si sur le poste de test les marge de l'imprimante ne sont pas plus grosse...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Par défaut
    On peut donc les fixer nous même ? les reinitialiser a une valeur < 10mm dans mon exemple car j'imprime en largeur de 10mm à 200mm en partant de gauche, soit 10mm de marge de gauche et droite sur un A4 21x29.7cm

    Je vais déjà me documenter sur tes parametres, merci, je donnerai des news apres.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Par défaut
    Effectivement en jouant sur ces margin, on arrive à un résultat parfait

    Merci pour ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Droits / impression / architecture sur serveur 2012
    Par jlpicard1701e dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 19/12/2014, 23h42
  2. Question sur les droits utilisateurs
    Par gibet_b dans le forum Administration système
    Réponses: 5
    Dernier message: 14/06/2005, 15h24
  3. [VB6] menu contextuel sur clique droit souris
    Par da40 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 08/07/2003, 11h07
  4. Evènement sur clic droit !?
    Par soccersoft dans le forum Composants VCL
    Réponses: 6
    Dernier message: 26/12/2002, 21h39

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