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 :

Impression d'étiquettes sur étiqueteuses


Sujet :

WinDev

  1. #1
    Membre confirmé Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 723
    Points : 627
    Points
    627
    Par défaut Impression d'étiquettes sur étiqueteuses
    Bonjour,

    je reviens vers vous pour un soucis qui me suit depuis pas mal de temps, que je pensais avoir réglé , mais ...

    Le problème de base : imprimer des étiquettes sur des étiqueteuses Brother QL-570 , sur du papier continu.

    Le texte a imprimer peut varier, mais normalement :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ||||||||||||     N° 123456
     
    Tire bouchons à vapeur
     
    1    Tire-bouchon
    10   Litres de vapeur
    1    Bouteille vin rouge
    Un code-barres , le numéro d'article, son nom et son contenu.

    J'ai testé avec des états , dans le format , je mets :

    Largeur : 62 mm
    Hauteur :29 mm

    dans l'aperçu avant impression, j'ai l'impression d'avoir une page A4 en affichage

    J'ai également essayé d'imprimer par code l'affichage est le même ...

    Nom : page_gd.png
Affichages : 1433
Taille : 12,1 Ko

    Je viens de faire un projet de test avec simplement une configuration ( iConfigure ) et une petite impression qui part sur un aperçu avant impression ... et toujours ma feuille qui est affichée en grand ...
    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
     
    // Ne sauvegarde pas les paramètres spécifiés
    iParamètre(iImprimanteDéfaut, Faux)
    //Source du papier (bac d'alimentation)
    iParamètre(iAlimentationPapier, iAlimentationPapier_Auto)
    //Qualité d'impression
    iParamètre(iQualité, iQualité_Haute)
    //Orientation du papier
    iParamètre(iOrientation, iOrientation_Portrait)
    //Format de papier utilisateur
    iParamètre(iHauteurPapier, 290)
    iParamètre(iLargeurPapier,620)
    //Impression des polices True Type
    iParamètre(iTrueType, iTrueType_Charge)
    //Nombre de copies à imprimer
    iParamètre(iNbCopie, 1)
    //Couleur ou N&B
    iParamètre(iCouleur, iCouleur_Mono)
    //Recto/Verso
    iParamètre(iRectoVerso, iRectoVerso_Simple)
    iAperçu(i100)
     
    iImprime(iPolice(2) + "Hello Windev")
    iFinImprime
    J'ai tenté de me battre avec le iHauteurtexte() pour essayer de récupérer la hauteur de la zone de texte du contenu (il peut changer) , mais au final ....

    Trace(iHauteurTexte(iPolice(2) + "Hello Windew "+ RC + "Hello word")) ===> 4.741333333333
    Trace(iHauteurTexte(iPolice(2) + "Hello Windew ")) ===> 4.741333333333

    ... deux lignes avec un RC me donnent la même hauteur que 1 ligne sans RC ...

    Je fais également un Etat , avec un libellé , le même texte et des paramètres de la page 620 x 290 :

    Nom : page_gd3.png
Affichages : 1456
Taille : 7,0 Ko

    ça n'a pourtant pas l'air bien compliqué, alors si vous avez des idées je prends ...

    La semaine passée j'ai été chez un client ou l'imprimante imprimait toujours deux étiquettes : la première OK, la deuxième vide ... et si je changeait l'imprimante par défaut , c'était bon ( même pas en passant la Brother par défaut, une autre).

    Comment faites vous pour imprimer proprement , j'ai beau faire des iRaz, des iConfigure ... pas moyen d'imprimer quelque chose de régulier.
    Si on choisi une taille de hauteur x largeur , on devrait avoir ce que l'on demande ? je ne comprends pas trop ce qui arrive ...

    D'après PC-Soft ça ne devrait pas être trop compliqué , si ??

    Principe de l'impression en WLangage
    Les étapes pour imprimer en WLangage sont :

    Étape 1 (optionnelle) : Configuration des paramètres d'impression
    Étape 2 (optionnelle) : Création de la police ou des polices d'impression (optionnel)
    Étape 3 : Impression des caractères, des lignes ou des images et fin d'impression.
    Étape 4 : Lancement de l'impression.
    Merci d'avance pour votre aide, là je frise la crise de nerf ...

    Olivier

  2. #2
    Membre confirmé Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 723
    Points : 627
    Points
    627
    Par défaut
    Hello,

    sérieusement ... je suis le seul à utiliser ce type d'imprimante avec des contenus variables ?

    Si oui ... vous faites comment ( avec des imprimantes pas trop chères en toput cas )

    Olivier

  3. #3
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 200
    Points : 9 187
    Points
    9 187
    Par défaut
    De mémoire, sur un windows 2000 (ou xp), dans le serveur d'impression (panneau de configuration/ imprimantes / serveur d'impression), j'avais configuré un modèle de page. Du coup, lors des des éditions, j'avais bien un aperçu avec la bonne taille de page.

    Il faut que tu puisses reconfigurer le serveur d'impression sur le poste du client.

    Par contre,
    - je ne me rappelle plus des détails de configuration.
    - je ne sais pas si on peut encore le faire sous windows vista / 7 / 8...
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  4. #4
    Membre confirmé Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 723
    Points : 627
    Points
    627
    Par défaut
    Bonjour,

    je n'avais pas pensé au serveur d’impression ... du coup, ça compliquerait pas mal. mais malheureusement je ne pense pas que les utilisateurs vont passer par là ...

    Mais merci pour l'idée , peut-être pour une autre problématique.

    Bonne fêtes

    Olivier

  5. #5
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 200
    Points : 9 187
    Points
    9 187
    Par défaut
    Je viens de me rappeler que cette histoire du serveur d'impression permettait de créer ton propre format de page. Celui-ci est fixe. Par exemple, 10x15cm.

    Par contre, si tu as une impression à hauteur variable, tu auras du papier perdu et éventuellement plusieurs pages pour une impression.

    Une solution serait de simuler un aperçu avant impression avec un champ dessin et de faire des impressions ligne à ligne.

    Y'a du taf à mettre en place et à tester tout ça...

    Bonnes fêtes à toi aussi
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  6. #6
    Membre confirmé Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 723
    Points : 627
    Points
    627
    Par défaut
    Hello,

    merci pour la réponse.

    En fait , c'est déjà ce que je fais, de l'impression ligne à ligne avec les commandes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
    iAperçu(i100)
     
    iImprime(iPolice(2) + stxt)
    iFinImprime
    ...
    sauf que je compte les retours chariots avant de mettre le texte dans l'aperçu.

    le nombre X de retour chariot multiplié par 6.5 mm ( pour ma police ) me donne environ la hauteur voulue.

    C'est OK pour des textes de type :

    1 hgfzdsgfdsguf
    10 jzdgfzudgsfzudgsugf
    2 zfgzudsgfzudsgufg


    Mais pas sur un texte multi lignes, et comme il semble qu'il soit impératif de poser la hauteur du papier avant le iApercu(), impossible de connaitre à l'avance la hauteur du texte ...

    D'ailleurs je me demande a quoi peut servir le iHauteurtexte() etc...


    Olivier

  7. #7
    Membre habitué

    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 111
    Points : 188
    Points
    188
    Par défaut
    Bonjour Olivier,

    Lorsque tu codes tes impressions comme moi, le iHauteurTexte est très utile et je l'utilise beaucoup.

    Je n'ai pas approfondi ton problème mais concernant cette instruction, un jour en changeant de version j'ai eu la même surprise que toi, à savoir que le iHauteurTexte ne tenait plus plus compte des retours chariot dans la chaîne alors qu'avant il en tenait compte. Il me semble que c'était en passant sur une version supérieure à la 16, je ne me souviens plus exactement. Cela dit j'ai facilement contourné le problème en comptant le nombre de RC dans la chaîne (donc en déterminant le nombre de ligne) et en multipliant ce nombre de ligne par la valeur de iHauteurTexte. De cette manière le résultat était à nouveau correct. En version 19 le problème subsiste, à voir s'ils vont corriger ça prochainement et si je vais devoir revenir en arrière sur mon code

    Emmanuel

  8. #8
    Membre confirmé Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 723
    Points : 627
    Points
    627
    Par défaut
    Salut Emmanuel,

    c'est effectivement ce que je fais (compter les RC ) , mais si la ligne est plus grande que la largeur de la page, il y a un saut de ligne qui n'est pas pris en compte ( pas de RC ).

    C'est surtout sur ce point que je butte ...

    J'ai eu une réponse du ST :

    Je ne dispose malheureusement de commande permettant d’obtenir directement la hauteur en mm. Toutefois, la commande TexteHauteur utilisant un champ basé sur la même police doit permettre d’obtenir la hauteur du texte en pixel et en déduire le nombre de ligne.

    ... mais bon .. je code mes impression à la mimine ( dans des scripts compilés avec COMPILE()) , donc pas possible d'utiliser un champ et franchement je me pose la question si ça peut fonctionner ...

    En tout cas je profite de te passer la bonne année ( ainsi qu' à tous ceux qui me lisent)

    Olivier

  9. #9
    Membre habitué

    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 111
    Points : 188
    Points
    188
    Par défaut
    Mes meilleurs voeux également à toi et à vous tous !

    Dans ce cas tu n'as de toute manière pas d'autres solutions que de faire la mise en page toi même. Utiliser les fonctions iLargeurPage, iLargeurTexte et imprimer chaque ligne individuellement plutôt qu'en bloc comme tu le fais actuellement. Enfin c'est ce qui me semble.

    A+
    Emmanuel

  10. #10
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 200
    Points : 9 187
    Points
    9 187
    Par défaut
    Si tu comptes le nombre de caractères avant l'impression ? Tu pourrais imprimer 2 lignes au lieu d'une et donc (mieux) gérer la mise en page.

    Sinon, une idée : charger la ligne dans un champ texte auto-extensible de la largeur de ton étiquette et utiliser la propriété HauteurFuture ?
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/04/2014, 15h22
  2. [AC-2003] Impression d'étiquette ciblée sur la feuille Avery
    Par meolimo dans le forum IHM
    Réponses: 3
    Dernier message: 16/01/2013, 19h21
  3. [WD14] Impression d'étiquettes sur DYMO
    Par fhmayn dans le forum WinDev
    Réponses: 18
    Dernier message: 06/08/2010, 14h48
  4. Impression d'étiquettes sur une Dymo LabelWriter 400
    Par robun dans le forum VBA Access
    Réponses: 3
    Dernier message: 29/08/2007, 07h43
  5. Réponses: 21
    Dernier message: 11/06/2007, 09h30

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