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 :

Imprimer un fichier


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2015
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2015
    Messages : 35
    Points : 32
    Points
    32
    Par défaut Imprimer un fichier
    Bonjour,

    Je n'arrive pas, ni à apercevoir mon fichier (alias une image au format png) ni à l'imprimer. Elle est enregistrée dans le dossier temp de l'ordinateur et son chemin est donné dans le printdocument, les autres élements de l'impression y sont attachés mais cela ne fonctionne pas. L'impression "marche" mais je reçois une page blanche. De plus, comment distinguer si l'utilisateur à cliquer sur Imprimer dans un printdialog ou non et imprimer en fonction ?

    Merci d'avance.
    L'important n'est pas de savoir, l'important est de savoir comment savoir.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    pour imprimer une image il ne faut pas donner son chemin au printdocument, il faut la dessiner sur le graphics du printdocument
    (et spécifier l'emplacement et la taille voulue)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Tu peux toujours mettre ton image dans un RichTextBox.

    Ceci dit, il faut utiliser la recette pour le rendre imprimable.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2015
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2015
    Messages : 35
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    pour imprimer une image il ne faut pas donner son chemin au printdocument, il faut la dessiner sur le graphics du printdocument
    (et spécifier l'emplacement et la taille voulue)
    J'ai essayé, ça a imprimé mais il y a deux problèmes :
    - L'aperçu de l'image via printpreviewcontrol est partiel et les scrollbars ne fonctionnent pas, cela est de même pour l'impresssion, elle est partielle, seul le côté haut gauche est imprimé (en gros, la moitié supérieure gauche de la photo) (dimension : 1184x768 pour toutes sur mon PC en tout cas, mais il faudra gérer des tailles plus grandes, sur des PC fixes par exemple). Donc, comment gérer ce problème ?
    Voici le code (PS : en plus, une fois la sélection d'imprimante ouverte, peu importe ce qui se passe, ça imprime...
    b est une bitmap (le début du code fonctionne, en faite, ce début fait partie d'une autre form, c'est pour ça que je passe par Print.PrintPreviewControl1.Tag).
    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
    26
    27
    28
    29
    30
    31
    32
     
    Dim filename As String = IO.Path.Combine(IO.Path.GetTempPath & Date.Now.Ticks.ToString & ".png")
            b.Save(filename)
            Print.PrintPreviewControl1.Tag = filename
            Print.PrintDialog1.Document = Print.PrintDocument1
            Print.ShowDialog()
    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
            PrintDialog1.ShowDialog()
            PrintDocument1.Print()
        End Sub
     
        Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
            Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
            Me.Close()
        End Sub
     
        Private Sub PrintDocument1_EndPrint(sender As Object, e As System.Drawing.Printing.PrintEventArgs) Handles PrintDocument1.EndPrint
            Try
                IO.File.Delete(PrintDocument1.DocumentName)
            Catch ex As Exception
     
            End Try
        End Sub
     
        Private Sub PrintDocument1_PrintPage(sender As Object, e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
            e.Graphics.DrawImage(Image.FromFile(PrintPreviewControl1.Tag), New Point(0, 0))
            e.PageSettings.Landscape = True
        End Sub
     
        Private Sub PrintPreviewControl1_Paint(sender As Object, e As System.Windows.Forms.PaintEventArgs) Handles PrintPreviewControl1.Paint
            e.Graphics.DrawImage(Image.FromFile(PrintPreviewControl1.Tag), New Point(0, 0))
        End Sub
    L'important n'est pas de savoir, l'important est de savoir comment savoir.

Discussions similaires

  1. Imprimer automatiquement fichiers de plusieurs formats
    Par lutin511 dans le forum Windows
    Réponses: 5
    Dernier message: 07/12/2005, 18h38
  2. Comment imprimer un fichier text existant?
    Par AODRENN dans le forum Langage
    Réponses: 2
    Dernier message: 12/09/2005, 17h26
  3. Imprimer un fichier EXCEL
    Par bianconeri dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/03/2005, 11h15
  4. Imprimer un fichier texte avec un script vbs
    Par Persons dans le forum Windows
    Réponses: 3
    Dernier message: 23/12/2004, 16h47
  5. [Imprimer] Imprimer un fichier avec Java
    Par gwendo dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 13/11/2004, 20h23

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