PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Impression d'un ticket
Impression d'un ticket
Débuté par Jean-Michel, 22 fév. 2021 08:16 - 22 réponses
Membre enregistré
834 messages
Popularité : +13 (13 votes)
Posté le 22 février 2021 - 08:16
Bonjour,

Sur Android :
Je désire imprimer un ticket sur l'imprimante de mon choix.
Lister mes imprimantes dans un ListeCombo.
En windev, on utilise iListeImprimante()

Solution en Windev Mobile ?
Merci.

--
Synchronize Systems International LTD
Développement d'outils de gestion

Environnements AS400 – Windows
Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev

Bangkok / Pattaya
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 22 février 2021 - 08:51
La solution est de créer un pdf.
Ensuite chaque fabricant fourni un logiciel d'impression.

Sinon
Il y a 2 exemple sur la LST n°88
iOS AirPrint
Cet exemple contient un composant interne permettant d'effectuer des impressions programmées en WLangage.
Un autre composant interne permet quant à lui de lancer des impressions via AirPrint, de fusionner et gérer des fichiers PDF.

Description du composant interne Impression Mobile disponible dans cet exemple :
Le composant Impression Mobile permet à vos applications mobiles sous iOS et Android de générer des impressions programmées. Associé aux composants internes Impression Mobile IOS et Impression Mobile Android, vous pourrez envoyer ces impressions sur vos imprimantes grâce à Air Print (iOS) ou Google Cloud Print (Android), ou encore générer des pages HTML ou des fichiers PDF (iOS uniquement).

Et
Android Impression
Cet exemple vous permet d'imprimer avec Google Cloud Print depuis votre Android .
Grâce à Google Cloud Print vous pouvez imprimer des pages HTML, des fichiers txt, des documents pdf,...
L'exemple vous permet même de réaliser des impressions programmées.
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 22 février 2021 - 09:14
Enfin pour la génération du pdf
https://depot.pcsoft.fr/resource.awp…
Membre enregistré
323 messages
Posté le 22 février 2021 - 09:46
Bonjour,
Pour imprimer sous Android, j'utilise les PDF, mais aussi les sockets pour imprimer en Wi-Fi ou en Bluetooth, à l'ancienne !
Bonne journée.
Laurent F
Membre enregistré
140 messages
Popularité : +6 (6 votes)
Posté le 22 février 2021 - 10:47
Popoy a écrit :
La solution est de créer un pdf.
Ensuite chaque fabricant fourni un logiciel d'impression.

Sinon
Il y a 2 exemple sur la LST n°88
iOS AirPrint
Cet exemple contient un composant interne permettant d'effectuer des impressions programmées en WLangage.
Un autre composant interne permet quant à lui de lancer des impressions via AirPrint, de fusionner et gérer des fichiers PDF.

Description du composant interne Impression Mobile disponible dans cet exemple :
Le composant Impression Mobile permet à vos applications mobiles sous iOS et Android de générer des impressions programmées. Associé aux composants internes Impression Mobile IOS et Impression Mobile Android, vous pourrez envoyer ces impressions sur vos imprimantes grâce à Air Print (iOS) ou Google Cloud Print (Android), ou encore générer des pages HTML ou des fichiers PDF (iOS uniquement).

Et
Android Impression
Cet exemple vous permet d'imprimer avec Google Cloud Print depuis votre Android .
Grâce à Google Cloud Print vous pouvez imprimer des pages HTML, des fichiers txt, des documents pdf,...
L'exemple vous permet même de réaliser des impressions programmées.


Attention popoy le service Google Print à fermé le 31 décembre 2020.

Je profite de ce sujet pour savoir si on peut imprimer depuis WM sur une imprimante à ticket en réseau ?
Membre enregistré
834 messages
Popularité : +13 (13 votes)
Posté le 22 février 2021 - 11:18
Popoy,
J'ai telecharge et regarder les 3 exemples.
Android Zébra ne me convient pas car je veux imprimer un état.
Les 2 autres, Je ne comprends pas le code ! Lol
Concernant le cloud : Remarque : Google Cloud Print ne sera plus disponible après le 31 décembre 2020
Dur dur, car tu m'as fourni des bonnes billes que je ne peux pas exploiter.
Merci a toi.

Pucpood,
Concernant generer des PDF a partir d'une maquette, ok.
As tu un exemple pour l'impression stp ?

Pour info :
J'ai toujours pu contourner ce probleme en intranet.
Grace aux Trigger, je peux demander au serveur d'imprimer a la place des telephones.
Mais la, je suis en serveur extern,e, clouds...... oups

--
Synchronize Systems International LTD
Développement d'outils de gestion

Environnements AS400 – Windows
Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev

Bangkok / Pattaya
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 22 février 2021 - 11:52
Comme je l'ai écrit au début
Personnellement je généré le pdf
Et j'utilise le logiciel fourni par HP, Epson etc
Membre enregistré
323 messages
Posté le 22 février 2021 - 12:00
Jean-Michel a écrit :

Pucpood,
Concernant generer des PDF a partir d'une maquette, ok.
As tu un exemple pour l'impression stp ?

Mon PDF est construit à partir d'un fichier texte, mais je ne l'imprime pas à partir de mon appli WindevMobile, je l'affiche à l'écran :
iCréePolice(1, 12, iNormal, "iCourier", iNoir, 0)
iDestination(iPDFGénérique,"toto.pdf")
iImprimeMot(iPolice(1)+"contenu du fichier")
iFinImprime()
LanceAppliAssociée("toto.pdf")

A partir de là, charge à ton appli d'affichage des PDF de te donner la possibilité d'imprimer avec les imprimantes installées sur l'appareil. Les grands fabricants d'imprimantes fournissent des applis dédiées à celà (HP ou Lexmark ou autres).
Membre enregistré
834 messages
Popularité : +13 (13 votes)
Posté le 22 février 2021 - 12:40
Merci a tous les deux, donc vu comme ca, c'est aussi simple qu'en windev.
(Effectivement Popoy, je n'ai pas percute)
Pour revenir a ma première question, je vais être plus précis :

J'ai 2 imprimantes
Suivant l'utilisateur, les documents pdf seront imprimes sur leur imprimante paramétrées

Dans mon application, j'ai une table ou il y aura :
IDUtilisateur, NomImprimante

Puis dans mon code, j'aurai grossièrement :
// Impression sur l'imprimante paramétrée
HLitRecherche(Timprimates, Idutilisateur,MonId)
sMonImprimante = Timprimates.nom
iConfigure(sMonImprimante )
iDestination(iPDF)
iImprimeEtat(ETAT_MonEtatPDF)

(Ou utiliser iimprimepdf(), bref.......)

Pour alimenter cette table (Timprimante), je vais faire un écran :
Utilisateur : Jean
Imprimante (Combo) : (sélection sur liste imprimantes installées sur androïde)
(Pour ce faire, en windev, nous utilisons iListeImprimante()) mais avec WM ??
Voila, voila...................

--
Synchronize Systems International LTD
Développement d'outils de gestion

Environnements AS400 – Windows
Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev

Bangkok / Pattaya
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 22 février 2021 - 15:05
Non jean Michel , tu ne peux pas imprimer l'état
Il faut générer le code de création du pdf
Voir mon tutoriel sur le dépôt
https://depot.pcsoft.fr/resource.awp…
Membre enregistré
834 messages
Popularité : +13 (13 votes)
Posté le 23 février 2021 - 03:46
c’a y est j'ai compris !!!!!
Désolé Popoy, novice sur WM, j'ai été un peu lourd sur ce coup la.
Je vais essayer le tuto et reviens vers vous.
Oufff, merci d'avoir insiste sur ce tuto que tu m'avais déjà fourni.
Bonne journée !

--
Synchronize Systems International LTD
Développement d'outils de gestion

Environnements AS400 – Windows
Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev

Bangkok / Pattaya
Membre enregistré
834 messages
Popularité : +13 (13 votes)
Posté le 23 février 2021 - 04:37
Je reviens vers vous.
Non, je n'ai pas été lourd sur ce post.
SI Popoy, mais que SI, le tuto montre ce que fait ces 9 lignes de code et j'ai teste !!!

//Impression
sPDF est une chaîne
SI SysEtatStockageExterne(1) = sseDisponible ALORS
sPDF = SysRepStockageExterne(1, sseAppDocument)
SINON
sPDF = fRepEnCours()
FIN
sPDF += [fSep] + "ETAT_CSComposant.pdf"
iDestination(iPDFGénérique,sPDF)

iImprimeEtat(ETAT_CSComposant)
LanceAppliAssociée(sPDF)


Je suis dans la version en cours : Version 26 ! (sinon j'aurai précisé)

Cela ne répond pas !
Il crée le pdf et me l'affiche.
Comment envoyer l'impression directement ??
Je vais chercher...................

--
Synchronize Systems International LTD
Développement d'outils de gestion

Environnements AS400 – Windows
Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev

Bangkok / Pattaya
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 23 février 2021 - 08:16
Désolé, je n'avais pas vu que la fonction iImprimeEtat est maintenant compatible avec Android.
Moi je suis resté en 25.
Membre enregistré
834 messages
Popularité : +13 (13 votes)
Posté le 23 février 2021 - 09:15
Salut Popoy,
Tu n'as pas a être désolé. C'est du travail d’équipe et tu as pris de ton temps.
Encore merci.
Si j'avais su ça l’année dernière............. LOL
J’espère que tu pourras passer en 26......................... car c'est un gros budget en ces temps de merd...... et malgré ma demande de discount, ils m'ont rien fait de mieux........

--
Synchronize Systems International LTD
Développement d'outils de gestion

Environnements AS400 – Windows
Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev

Bangkok / Pattaya
Membre enregistré
323 messages
Posté le 23 février 2021 - 17:16
Pour info, ça fonctionne déjà en 25. C'était, grâce à vous, la bonne surprise d'hier.
Par contre contre, je pense que l'impression directe n'est pas possible en Androïd ou iOs.
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 23 février 2021 - 21:38
Pucpood, désolé de te contredire
C'est faisable mais cela dépend de l'imprimante
Pour preuve, il y a des exemples sur le dépôt qui le font.
Cela est mal gérer par wm
Membre enregistré
834 messages
Popularité : +13 (13 votes)
Posté le 28 février 2021 - 12:54
Je reviens !!
Mon lanceaplliAssocie ne fonctionne pas car mon fichier ne se cree pa !!

iInitRequêteEtat(ETAT_Bill,COL_Bill[ni])
sPDF est une chaîne
sPDF = fRepEnCours()
sPDF = ComplèteRep(sPDF) + "Bill.pdf"

iDestination(iPDFGénérique,sPDF)
iImprimeEtat(ETAT_Bill)

SI fFichierExiste(sPDF) ALORS
Info(sPDF)
LanceAppliAssociée(sPDF)
FIN


Il ne rentre jamais dans le test donc le fichier n'y est pas !
Ou alors, le imprimeetat me genere cette ereure :





Pourtant quand test PC, ca fonctionne !
Je vois pas !!

???

--
Synchronize Systems International LTD
Développement d'outils de gestion

Environnements AS400 – Windows
Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev

Bangkok / Pattaya
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 28 février 2021 - 16:48
De toute façon le lanceappliassocie ne peut fonctionner car
Tu as mis dans frepencours , il est préférable de mettre dans un dossier public
De plus le iimprimeetat est une nouveauté 26
Pas étonnant que ça ne fonctionne pas.
Membre enregistré
834 messages
Popularité : +13 (13 votes)
Posté le 01 mars 2021 - 09:54
Re.......... Dans tous ces echanges, quelque chose me semblait bisard.... Cette nuit, je me suis souvenu.........
En version 25 j'avais developpe une petite appli avec un apercu avant impression :

Code en version 25 :



Non, "IImprimeEtat" n'est pas une nouveauté 26.

Screenshoot tel



Screenshoot tel paysage




Par contre, pas possible d'imprimer en direct.

J'ai migré ce petit programme en version 26 et............... Il fonctionne !!

Dans mon nouveau projet, même code mais plantage.
Cela doit être dans mon état. A suivre....................
Je comprends pas mais je vais chercher !

--
Synchronize Systems International LTD
Développement d'outils de gestion

Environnements AS400 – Windows
Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev

Bangkok / Pattaya
Membre enregistré
834 messages
Popularité : +13 (13 votes)
Posté le 01 mars 2021 - 11:10
J'ai la réponse, je vous la donne pour cloturer ce post.

Fainéant que je suis, l’état existe sous Windev26 dans la partie PC.
Je l'ai copié, et inséré dans le projet Windev Mobile 26.
Il n'a pas hurlé donc tout va bien.
J'ai relié mon état a la bonne requête et le tour est joué.

NON, ça ne fonctionne pas.
J'ai donc refait mon état et tout va bien...........................
Conclusion : Éviter d'importer des objets de WD dans WM.

Pour revenir a ma question principale de ce post, "Lister mes imprimantes dans un ListeCombo", Je ne sais pas et apparemment, on ne peut toujours pas en 26 ! A suivre..........................

Merci a vous.............................

--
Synchronize Systems International LTD
Développement d'outils de gestion

Environnements AS400 – Windows
Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev

Bangkok / Pattaya
Membre enregistré
3 311 messages
Popularité : +93 (137 votes)
Posté le 01 mars 2021 - 14:49
Au pire, tu fais seulement le pdf.
Le principal c'est de réussir
Membre enregistré
834 messages
Popularité : +13 (13 votes)
Posté le 02 mars 2021 - 04:14
C'est la meilleur réponse : "Le principal c'est de réussir"
Bravo.
C'est bon pour moi, j'ai réussi, il manque l'impression en direct sans être oblige de passer par le bouton "imprimer" de l’aperçu du pdf.....
Sujet clos....

--
Synchronize Systems International LTD
Développement d'outils de gestion

Environnements AS400 – Windows
Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev

Bangkok / Pattaya