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

WinDev Discussion :

Imprimer avec une Zébra


Sujet :

WinDev

  1. #1
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut Imprimer avec une Zébra
    Bonjour.

    Je débute dans l'impression sur les Zébra avec Windev.

    J'ai du mal à imprimer sur un petite étiquette (28mm x 40 mm) via les états.

    Où et comment bien rentrer les proportions de l'étiquette? Par programmation? Par la mise en page de l'état?

    J'ai essayé dans les 2 sens et pas moyen d'imprimer correctement à l'endroit que je désire.
    Comment faire pour imprimer un nombre d'étiquette bien précis?

    Je n'utilise pas le langage EPL de l'imprimante.

    Merci d'avance.
    Évènements dans le 06?
    www.sortir06.com

  2. #2
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 995
    Points
    1 995
    Par défaut
    Hello,
    Il y a quelques années (snif), j'ai programmé une Zebra et j'avoue que j'ai vite changé de marque. En effet, à l'époque, il fallait adresser directement le port Com car les drivers posés soucis sous Windows 98 (y'a longtemps)...
    Mais je me rappelle bien d'avoir été obligé de tout géré manuellement (quelques semaines de travail avec la bête recalcitrante...)
    Je pense que tu dois avoir à faire la même chose, hélas... sauf si d'autres membres donnent plus de solutions, mais...
    Amicalement
    le savoir est dans les livres, 'the magic touch F1'
    Amicalement
    Eric

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut
    Bonjour,
    Zebra, avec un Windev 7.5 se pilote en programmation.
    pour celà, récupérez le logiciel gratuit BAR_ONE 6.0 Lite et faites votre mise en forme.
    remplissez votre étiquette avec des mots clé que vous pourrez reconnaître facilement.
    imprimez dans un fichier
    récupérez le contenu du fichier puis changez vos mos clé par des variables de Windev et retournez dans Windev pour faire:

    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
     
     
    port est un entier=-1
    resultat est un booléen
    resultat = sOuvre(port, 2000, 2000,10)
    SI resultat = Vrai ALORS
    // commande correspond à la valeur du fichier "etiquette.lab" présent dans le répertoire exe du projet	
    commande est une chaîne="^XA^MCY^XZ^XA^FWN^CFD,24^PW552^LH0,0^CI0^PR2^MNY^MTT^MMT^MD15^PON^PMN^LRN"+...
    "^XZ^XA^MCY^XZ^XA^DFR:TEMP_FMT.ZPL^LRN^FO9,9^GB536,912,7,B,0^FS^FO264,15^GB1,901,1,B,0^FS"+...
    "^A0B,34,34^FO27,528^FD"+SaisDesignationHaut+"^FS^A0B,51,52^FO149,430^FD"+SaisCorpsHaut+"^FS"+...
    "^A0B,51,52^FO375,440^FD"+SaisCorpsBas+"^FS^A0B,34,34^FO274,542^FD"+SaisDesignationBas+"^FS"+...
    "^XZ^XA^XFR:TEMP_FMT.ZPL^PQ1,0,1,Y^XZ^XA^IDR:TEMP_FMT.ZPL^XZ"
     
    	valeur est un entier
     
    	valeur=sEcrit(port,commande)
    et voilà
    Emmanuel
    --------------------------------------
    aucune réponse en message privé.
    les discussions doivent profiter à tous.

  4. #4
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    J'ai une Zebra Z6Mplus, Windev 12 sous Windows XP.
    Je n'ai pas eu de difficultés particulières pour imprimer des étiquettes.

    - Sous Windows, par le biais de propriétés de la Zebra, j'ai défini mon format étiquette.
    - Sous l'éditeur d'état de Windev je défini le format de l'étiquette.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut
    autant pour moi; je n'avais pas précisé que je n'avais pas d'imprimante Zebra mais que malgré cela il était tout à fait possible de programmer pour Zebra. dans le cas présent c'était pour imprimer sur une Z24M
    Emmanuel
    --------------------------------------
    aucune réponse en message privé.
    les discussions doivent profiter à tous.

  6. #6
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    Citation Envoyé par notar Voir le message
    Bonjour,
    Zebra, avec un Windev 7.5 se pilote en programmation.
    pour celà, récupérez le logiciel gratuit BAR_ONE 6.0 Lite et faites votre mise en forme.
    remplissez votre étiquette avec des mots clé que vous pourrez reconnaître facilement.
    imprimez dans un fichier
    récupérez le contenu du fichier puis changez vos mos clé par des variables de Windev et retournez dans Windev pour faire:

    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
     
     
    port est un entier=-1
    resultat est un booléen
    resultat = sOuvre(port, 2000, 2000,10)
    SI resultat = Vrai ALORS
    // commande correspond à la valeur du fichier "etiquette.lab" présent dans le répertoire exe du projet	
    commande est une chaîne="^XA^MCY^XZ^XA^FWN^CFD,24^PW552^LH0,0^CI0^PR2^MNY^MTT^MMT^MD15^PON^PMN^LRN"+...
    "^XZ^XA^MCY^XZ^XA^DFR:TEMP_FMT.ZPL^LRN^FO9,9^GB536,912,7,B,0^FS^FO264,15^GB1,901,1,B,0^FS"+...
    "^A0B,34,34^FO27,528^FD"+SaisDesignationHaut+"^FS^A0B,51,52^FO149,430^FD"+SaisCorpsHaut+"^FS"+...
    "^A0B,51,52^FO375,440^FD"+SaisCorpsBas+"^FS^A0B,34,34^FO274,542^FD"+SaisDesignationBas+"^FS"+...
    "^XZ^XA^XFR:TEMP_FMT.ZPL^PQ1,0,1,Y^XZ^XA^IDR:TEMP_FMT.ZPL^XZ"
     
    	valeur est un entier
     
    	valeur=sEcrit(port,commande)
    et voilà
    Quelle bonne explication

    Par contre, je ne trouve pas BAR_ONE 6.0 Lite.
    Il a été retiré du réseau?

    Si quelqu'un possède l'install, je veux bien
    Évènements dans le 06?
    www.sortir06.com

  7. #7
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    Citation Envoyé par notar Voir le message
    Bonjour,
    Zebra, avec un Windev 7.5 se pilote en programmation.
    pour celà, récupérez le logiciel gratuit BAR_ONE 6.0 Lite et faites votre mise en forme.
    remplissez votre étiquette avec des mots clé que vous pourrez reconnaître facilement.
    imprimez dans un fichier
    récupérez le contenu du fichier puis changez vos mos clé par des variables de Windev et retournez dans Windev pour faire:

    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
     
     
    port est un entier=-1
    resultat est un booléen
    resultat = sOuvre(port, 2000, 2000,10)
    SI resultat = Vrai ALORS
    // commande correspond à la valeur du fichier "etiquette.lab" présent dans le répertoire exe du projet	
    commande est une chaîne="^XA^MCY^XZ^XA^FWN^CFD,24^PW552^LH0,0^CI0^PR2^MNY^MTT^MMT^MD15^PON^PMN^LRN"+...
    "^XZ^XA^MCY^XZ^XA^DFR:TEMP_FMT.ZPL^LRN^FO9,9^GB536,912,7,B,0^FS^FO264,15^GB1,901,1,B,0^FS"+...
    "^A0B,34,34^FO27,528^FD"+SaisDesignationHaut+"^FS^A0B,51,52^FO149,430^FD"+SaisCorpsHaut+"^FS"+...
    "^A0B,51,52^FO375,440^FD"+SaisCorpsBas+"^FS^A0B,34,34^FO274,542^FD"+SaisDesignationBas+"^FS"+...
    "^XZ^XA^XFR:TEMP_FMT.ZPL^PQ1,0,1,Y^XZ^XA^IDR:TEMP_FMT.ZPL^XZ"
     
    	valeur est un entier
     
    	valeur=sEcrit(port,commande)
    et voilà
    J'ai du juste remplacé ton code ZPL par EPL car le modèle que j'utilise (TLP 2844) ne prend que EPL.

    J'ai testé et sEcrit me renvoi 0 (ce qui représente : le temps d'attente est terminé et l'écriture n'a pas été effectuée).
    Évènements dans le 06?
    www.sortir06.com

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut
    est-ce que tu es sur le bon port?

    Numéro du port série concerné : 1, 2, 3 ou 4 pour COM1, COM2, COM3 ou COM4.

    Numéro de port parallèle concerné : -1, -2, -3 ou -4 pour LPT1, LPT2, LPT3 ou LPT4.
    Emmanuel
    --------------------------------------
    aucune réponse en message privé.
    les discussions doivent profiter à tous.

  9. #9
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    La zébra est connecté avec un RJ45 sur un switch.
    Donc j'ai laissé -1 (LPT1).
    Évènements dans le 06?
    www.sortir06.com

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut
    va voir sur:
    http://windevapi.free.fr/forum1.php?idr=1&ids=99
    tout en bas de la page il y a une fonction pour lister les ports de ta machine
    Emmanuel
    --------------------------------------
    aucune réponse en message privé.
    les discussions doivent profiter à tous.

  11. #11
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    Maintenant j'ai le nom du port (IP_192.168.1.250) mais le paramètre de sEcrit et sOuvre doit être un entier.
    Ça ne passe pas si j'essaie quand même avec le nom du port.
    Évènements dans le 06?
    www.sortir06.com

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut
    le nom du port , tu l'as eu comment?
    Emmanuel
    --------------------------------------
    aucune réponse en message privé.
    les discussions doivent profiter à tous.

  13. #13
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    Citation Envoyé par notar Voir le message
    le nom du port , tu l'as eu comment?
    Avec le bout de code précédent.
    Évènements dans le 06?
    www.sortir06.com

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut
    alors tu as pu constater que sur la liste de tes ports, soit ils affichaient un nom d'imprimante soit ils affichaient le nom du port (com1, com2, lpt1,lpt2 ...)
    par déduction tu peux trouver quel est le numéro du port.
    si lpt2 n'y est pas c'est qu'il est remplacé par le nom de ton imprimante. donc tu connais le numéro du port
    Emmanuel
    --------------------------------------
    aucune réponse en message privé.
    les discussions doivent profiter à tous.

  15. #15
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 995
    Points
    1 995
    Par défaut
    Hello,
    Si je résume la situation, vous avez un port identifiable et identifié sous Windows, de surcroit, en IP. Aussi, je pense qu'il est inutile d'adresser directement le port et je vous livre une partie de mon code utilisé dans mes applications

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    		// on va configurer l'imprimante selon le poste
    		iConfigure(POSTES_CONNECTES.IMP_FACTURE)
    		// parametre de dimension feuilles
    		//Source du papier (bac d'alimentation)
    		iParamètre(iAlimentationPapier, iAlimentationPapier_Auto)
    		//Qualité d'impression
    		iParamètre(iQualité, iQualité_Haute)
    		//Format de papier prédéfini
    		iParamètre(iFormatPapier, iFormatPapier_A4)
    		//Impression des polices True Type
    		iParamètre(iTrueType, iTrueType_Matériel)
    		// Portrait
    		iParamètre(iOrientation,iOrientation_Portrait)
    Ce code permet d'initialiser une imprimante en fonction de la nature de l'impression, et de router les impressions sur la bonne imprimante. Ainsi, les postes en front-office ne se soucient plus des impressions sous windows, seule prime la rapidité d'impression (que j'appelle par la touche F11).
    De plus, le back office peut à tout moment modifier les imprimantes de destination si l'une d'elle est en dérangement temporaire (ou HS).

    Pour revenir à la problèmatique, il suffit de remplacer désormais le
    mot 'secrit' par 'iimprime'
    Le séquencage de caractères reste le même. Et je crois que cela va résoudre le problème.
    Si vraiment il faut utiliser un port LPT, il est encore possible de le faire sous XP au travers de la ligne de commande suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    net use LPTx: \\nom_du_port_utilise_pour l'imprimante /PERSISTENT:YES
    On appelait cela la capture de port sous Windows 98...

    L'option /PERSISTENT:YES donne l'instruction à remonter le port lors d'un démarrage après extinction de la machine.

    Je crois que cela devrais désormais fonctionner, sauf erreur, mais j'attends vos retour d'info car comme je le disais dans un post, les zebra, je n'en ai pas un bon souvenir...
    Amicalement
    le savoir est dans les livres, 'the magic touch F1'
    Amicalement
    Eric

Discussions similaires

  1. Imprimer avec une résolution autre que 72dpi
    Par rtg57 dans le forum AWT/Swing
    Réponses: 0
    Dernier message: 05/09/2011, 14h28
  2. Imprimer avec une imprimante matricielle
    Par william_dev dans le forum Général Java
    Réponses: 4
    Dernier message: 30/12/2010, 18h42
  3. Réponses: 5
    Dernier message: 08/08/2007, 13h16
  4. [debutant] imprimer avec une mise en page spécifique
    Par _silence_ dans le forum AWT/Swing
    Réponses: 18
    Dernier message: 25/06/2007, 23h12
  5. Imprimer un Metafile avec une bonne résolution
    Par Lolo1988 dans le forum Delphi
    Réponses: 5
    Dernier message: 13/04/2007, 13h31

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