PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 26 → Impression d'un ticket
Impression d'un ticket
Débuté par Jean-Michel, 22 fév. 2021 08:16 - 18 réponses
Membre enregistré
709 messages
Popularité : +3 (3 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é
1 114 messages
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é
1 114 messages
Membre enregistré
1 114 messages
Posté le 22 février 2021 - 09:14
Enfin pour la génération du pdf
https://depot.pcsoft.fr/resource.awp…
Membre enregistré
17 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é
116 messages
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é
709 messages
Popularité : +3 (3 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é
1 114 messages
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é
17 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é
709 messages
Popularité : +3 (3 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é
1 114 messages
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é
709 messages
Popularité : +3 (3 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é
709 messages
Popularité : +3 (3 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é
1 114 messages
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é
709 messages
Popularité : +3 (3 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é
17 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é
1 114 messages
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é
709 messages
Popularité : +3 (3 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é
1 114 messages
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.