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 de documents


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut impression de documents
    Bonjour a tous

    au vu du dernier post proposé, je désespère de trouver l'outil recherché

    quelqu'un a t'il un tuto ou adresse de tuto / exemple qui me permettrais de pouvoir construire un objet pour la prévisualisation avant impression, afin d'alléger l'utilisation des objets présent dans VB

    merci bien

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 68
    Par défaut
    Moi aussi j'en ai besoin de ce truc daans la réalisation de mon projet de stage ..

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 206
    Par défaut
    Pour la previsualisation avant impression il y a le composant intégré PrintPreviewDialog (voir plassere documentation page 693
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim dllg As New PrintPreviewDialog
    dllg.Document = pd
    dllg.ShowDialog()
    apres pour l'impression je peux pas te dire c'est un peu une bete noir ^^
    il y a celui la mais personnellement j'ai jamais compris
    http://bidou.developpez.com/tutoriel...et/impression/
    D'ailleur si d'autre en on des plus ... abordable je suis aussi preneur

  4. #4
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Je voudrais justement éviter a devoir refaire ce genre d'écriture a chaque fois

    Quand on voit la quantité de lignes a sortir pour tracer un rectangle
    comme ans le tuto

  5. #5
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    en fait voici ou je suis bloqué

    pour celui qui peu comprendre l'astuce

    a télécharger et installer http://www.ppreview.net/

    si on lance la demo impeccable tout fonctionne

    si je référencie la dll qui se trouve dans le répertoire créé par le programme ppreview ( preview5.dll )

    lors de la déclaration et l'instanciation boum sa bloque sur certains poste Windows 7 ou 8 en 32 et 64 bit

    Son avantage pas chère et complète

    utilisation de la DLL


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
      Public Preview As PrintPreview5.Preview = New PrintPreview5.Preview
     
     With Preview
     
                      .Caption = "Impression document"
                      .DrawPicture(StringPathFilesLocaux & "\logo-ls.jpg", CType(1, PrintPreview5.eStoreType), MargeGauche + 5 & " mm", "5 mm", MargeGauche + 60 & " mm", "20 mm")
                      .FontBold = True
                      .FontUnderline = True
                      .FontSize = 9
                      .AddTextAt(CStr(Titre), MargeGauche + 68 & " mm", "15 mm")
     
    End With
    voici le message d'erreur retourné , mais je ne trouve pas le pourquoi

    Une exception de première chance de type 'System.Runtime.InteropServices.COMException' s'est produite dans mscorlib.dll
    Une exception de première chance de type 'System.TypeInitializationException' s'est produite dans LunchX.exe

  6. #6
    Membre très actif
    Homme Profil pro
    Retraité intello
    Inscrit en
    Juillet 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité intello

    Informations forums :
    Inscription : Juillet 2012
    Messages : 186
    Par défaut
    Bonjour Thierry007.

    Je vais vous dire comment je fais quand je veux utiliser sur divers supports le même dessin. Les supports en question pouvant être par exemple un formulaire ou une imprimante, bref tout ce qui peut fournir un objet

    Je place tout simplement tout le code du dessin dans un module standard, dont le seul accès possible est précisément la déclaration

    Pour le cas qui vous occupe, vous pourriez prévisualiser en renseignant Grp par l'événement Paint d'un formulaire, et imprimer par l'événement PrintPage d'un objet de classe PrintDocument.

    En espérant que cette méthode vous convienne.

  7. #7
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    merci pour l'info,

    Mais dans le cas de page assez complexe genre listing, qui contiennent du texte , images,...

    si vous auriez un petit bout de code explicatif....

  8. #8
    Membre très actif
    Homme Profil pro
    Retraité intello
    Inscrit en
    Juillet 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité intello

    Informations forums :
    Inscription : Juillet 2012
    Messages : 186
    Par défaut
    Bonjour.

    Je n'en possède pas sous la main, mais je vais vous en préparer un. Je vous demande d'attendre un ou deux jours, étant assez occupé en ce moment.

    Cordialement.

  9. #9
    Membre très actif
    Homme Profil pro
    Retraité intello
    Inscrit en
    Juillet 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité intello

    Informations forums :
    Inscription : Juillet 2012
    Messages : 186
    Par défaut
    Bonjour thierry007.

    Le code que vous m'avez demandé se compose de quatre modules.

    1) Un formulaire nommé Accueil, servant de chef d'orchestre, sur lequel sont posés deux boutons nommés bPré et bPst.

    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
    Public Class Accueil
     
        Private Sub Accueil_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Left = 10 : Top = 10
        End Sub
     
        Private Sub bPré_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bPré.Click
            PréVue.Show()
        End Sub
     
        Private Sub bPst_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bPst.Click
            PostImp.Show()
        End Sub
     
    End Class
    2) Un formulaire nommé PréVue, pour la prévisualisation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Imports System.Drawing.Printing
    Imports System.Drawing.Color
    Public Class PréVue
     
        Private Sub PréVue_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Left = 10 : Top = 90
        End Sub
     
        Private Sub PréVue_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
            CodePartagé.Grp = e.Graphics
        End Sub
     
    End Class
    3) Un formulaire nommé PostImp, pour l'impression, sur lequel est posé un bouton nommé pImp

    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
    Imports System.Drawing.Printing
    Imports System.Drawing.Color
    Public Class PostImp
        Private Prt As New PrintDocument
     
        Private Sub PostImp_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            AddHandler Prt.PrintPage, AddressOf Me.Prt_PrintPage
            Left = 10 : Top = 90
        End Sub
     
        Private Sub Prt_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)
            CodePartagé.Grp = e.Graphics
        End Sub
     
        Private Sub bImp_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bImp.Click
            Prt.Print()
        End Sub
     
    End Class
    4) Un module standard nommé CodePartagé, dans lequel se trouve le code de dessin

    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
    Imports System.Drawing.Printing
    Imports System.Drawing.Color
    Module CodePartagé
        Private _Grp As Graphics
     
        Public Property Grp As Graphics
            Get
                Return _Grp
            End Get
            Set(ByVal g As Graphics)
                _Grp = g
                Dessiner()
            End Set
        End Property
     
        Private Sub Dessiner()
            Dim Txt As String, Pnt As PointF
            Dim Crn As New Pen(Color.Black, 3)
            Dim Pnc As New SolidBrush(Color.Red)
            With Pnt
                .X = 0
                .Y = 0
            End With
            Txt = "Oh! Le beau rectangle!"
            Grp.DrawString(Txt, New Font("Times New Roman", 10, FontStyle.Regular), Brushes.Black, Pnt)
            Grp.FillRectangle(Pnc, 20, 20, 100, 80)
            Grp.DrawRectangle(Crn, 20, 20, 100, 80)
        End Sub
     
    End Module
    Je vous en souhaite bonne lecture.

  10. #10
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Bien merci Jean-Marie Grave

    Pour l'immédia il faut que trouve la solution au problème d'utilisation de cette dll.

    Mais pour le bout de code ci-dessus , cela va bien me servire d'inspiration pour un autre projet ( dans le domaine de l'ophtalmoogie, surtout pour les parties graphiques )

    Encore grand merci

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

Discussions similaires

  1. [C++/CLI] Impression de document
    Par Casimir33 dans le forum C++/CLI
    Réponses: 3
    Dernier message: 14/09/2006, 17h34
  2. Réponses: 4
    Dernier message: 08/08/2006, 20h57
  3. [C++/CLI] Impression de document
    Par Casimir33 dans le forum Visual C++
    Réponses: 0
    Dernier message: 26/07/2006, 12h30
  4. [Librairies] Questions relatives à l'impression de documents
    Par Ronin dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 07/12/2005, 16h53
  5. [Stratégie] Impression de documents
    Par gegev2 dans le forum Documents
    Réponses: 1
    Dernier message: 12/07/2005, 12h19

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