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 :

VB.NET impression Dymo WPF


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 89
    Par défaut VB.NET impression Dymo WPF
    Bonjour,

    J'e dispose d'une imprimante Dymo LabelWritter 550 Turbo, et je développe en VB.net une application WPF sous visual studio 2019.

    Malgrés plusieurs recherche je n'arrive pas à imprimer. J'ai récupéré le package NuGet https://www.nuget.org/packages/DYMO.Connect.SDK/ et consulté les exemples :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Label As dymo.Label.Framework.ILabel
            Label = dymo.Label.Framework.Framework.Open("C:\Users\Moi\Desktop\Test.label")
            Label.SetObjectText("IBarcodeObject0", "123")
            Label.Print("DYMO LabelWriter 550 Turbo")
    Mais j'ai des messages d'erreur : System.IO.FileLoadException*: 'Impossible de charger le fichier ou l'assembly 'DYMO.Common, Version=8.5.1.1816, Culture=neutral, PublicKeyToken=5426002a38745af9' ou une de ses dépendances. La définition trouvée du manifeste de l'assembly ne correspond pas à la référence de l'assembly. (Exception de HRESULT : 0x80131040)'

    Globalement l'impression sous WPF est assez mal documenté, les quelques exemples trouvées passent tous par la boite de dialogue d'impression or je voudrais que lorsque j'appuie sur un bouton il imprime directement une étiquette Dymo sans ouvrir de fenêtre de dialogue.

    Je ne suis pas assez à l'aise pour identifier et comprendre ce qui cloche est-ce que quelqu'un aurait des pistes ?

    Merci de votre aide

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 545
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 545
    Par défaut
    Ils fournissent un exemple wpf sur leur page github https://github.com/dymosoftware/DCD-SDK-Sample (ils sont en .NET/C#)
    Pour imprimer, ils passent par une instance de DymoPrinter.Instance
    et pour mettre à jour un label, ils passent par dymoSDKLabel.UpdateLabelObject (dymoSDKLabel étant un DymoLabel.Instance)

    En regardant les issues sur le github, il semble y avoir plusieurs cas de cette même erreur. Peut-être faire l'essai dans un projet ciblant .NET FRamework 4.8 si tu cibles actuellement .NET5/6/7

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    il cherche un fichier qui s'appelle DYMO.Common.dll

    cherche le et dis nous où il est si tu le trouves
    et il faudrait aussi nous dire ce que tu as ajouté en référence à ton projet
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 89
    Par défaut
    Bonjour,

    Merci pour votre aide, je vais regarder tout ça mais je suis en déplacement ce début de semaine sans accès à l'imprimante en question. Je teste en fin de semaine et vous tient au courant. Merci encore pour votre intérêt !

  5. #5
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 89
    Par défaut
    Bonjour,

    Je viens de réaliser un certain nombre d'essais peux concluant. J'ai créé une étiquette des plus basiques juste un texte et je cherche déjà à imprimer cette simple étiquette stockée sur mon bureau et intitulée Essai.dymo. Mon programme est constitué d'un simple bouton et lorsque je clique il est censé imprimer l'étiquette. L'imprimante se nomme bien "DYMO LabelWriter 550 Turbo" (mais n'est pas celle définie par défaut). Via le logiciel Dymo j'arrive à imprimer une étiquette signe que la Dymo est bien reconnue et installée sur l'ordi en question. Je suis en WPF VB.NET framework 4.8. J'ai ajouté les réf via :

    Gérer les packages NuGet, j'ai cherché Dymo et sélectionné les packages :
    • DYMO.Connect.SDK (v1.4.3.37)
    • DYMO.Label (v8.5.1.4)


    L'installation dse déroule correctement et je récupère les références :
    • DYMO.Common
    • DYMO.DLS.Runtime
    • DYMO.Label.Framework
    • DymoSDK
    • Interop.DYMOPrintingSupportLib


    Page xaml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <Window x:Class="MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:EssaiDymoWPF"
            mc:Ignorable="d"
            Title="MainWindow" Height="450" Width="800">
        <Grid>
            <Button Content="Button" HorizontalAlignment="Left" Margin="426,192,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
        </Grid>
    </Window>
    Code lié au bouton :
    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
    Imports DymoSDK.Implementations
    Imports DymoSDK.Interfaces
     
    Class MainWindow
        Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
     
            DymoSDK.App.Init()
            Dim dymoSDKPrinter = DymoPrinter.Instance
            Dim fullpath As String = System.IO.Path.GetFullPath("C:\Users\Moi\Desktop\Essai.dymo")
            Dim dymoSDKLabel = DymoLabel.Instance
            dymoSDKLabel.LoadLabelFromFilePath(fullpath)
            dymoSDKPrinter.PrintLabel(dymoSDKLabel, "DYMO LabelWriter 550 Turbo", 1, False, False, 0, False, False)
     
        End Sub
     
    End Class
    Après avoir mis un point d'arrêt en début de code, j'identifie que lorsque j'appuie sur le bouton il passe bien par chaque ligne sans erreur, mais rien ne s'imprime...

    J'ai également essayé le code suivant :
    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
    Imports DymoSDK.Implementations
    Imports DymoSDK.Interfaces
     
    Class MainWindow
        Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
     
            Dim dymoSDKLabel As DymoLabel
            dymoSDKLabel = DymoLabel.Instance
     
            Dim dymoSDKPrinter = DymoPrinter.Instance
            dymoSDKLabel.LoadLabelFromFilePath("C:\Users\Moi\Desktop\Essai.dymo")
            Dim SelectedPrinter As String = "DYMO LabelWriter 550 Turbo"
            Dim Printers = DymoPrinter.Instance.GetPrinters()
            DymoPrinter.Instance.PrintLabel(dymoSDKLabel, SelectedPrinter, 1, True)
     
        End Sub
     
    End Class
    Mais à la ligne : dymoSDKLabel.LoadLabelFromFilePath("C:\Users\Moi\Desktop\Essai.dymo") , il me met une exception non gérée :
    System.Collections.Generic.KeyNotFoundException
    Du coup je suis un peu perdu à noter que Imports DymoSDK.Interfaces reste gris

    Merci de vos retours

  6. #6
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 89
    Par défaut
    Edit : j'ai rajouté la ligne :MsgBox(dymoSDKPrinter.Is550Printer(SelectedPrinter)) qui me renvoie true si je comprends bien il me trouve bien l'imprimante c'est donc l'étiquette qui semble poser problème ...

Discussions similaires

  1. [VB.NET] Impression d'un DataGrid
    Par hamed dans le forum Windows Forms
    Réponses: 7
    Dernier message: 11/02/2005, 10h07
  2. [CR][ASP.NET] Impression sur imprimante partagée
    Par Frusciante8 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 27/01/2005, 12h03
  3. [CR10][ASP.NET]Impression sur le poste Client
    Par David.V dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 30/04/2004, 13h41
  4. [CR][ASP.NET] Impression en format "paysage"
    Par David.V dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 24/04/2004, 22h56
  5. [VB.NET] impression d'un datagrid
    Par behe dans le forum Windows Forms
    Réponses: 3
    Dernier message: 13/01/2004, 09h59

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