1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

WM Socket Bluetooth imprime Arabe

Discussion dans 'Windev Mobile' créé par RADOUANE999, Déc 19, 2020.

  1. RADOUANE999

    RADOUANE999 Member

    Inscrit:
    Mar 21, 2018
    Messages:
    66
    J'aime reçus:
    18
    Bonjour a tous
    j ai un petite problème avec l impression en utilisent les Socket Bluetooth
    avec la langue français il y pas de problème tout marche tres bien

    par contre en langue arabe rien ne s imprime correctement
    j ai essai avec
    UTF8VersAnsi()
    UTF8VersUnicode()
    AnsiVersUnicode()
    UnicodeVersAnsi()

    ca marche pas

    comment faire pour la langue arabe simprime sans probleme
    merci



    mon code utilise
    ----------




    [windev]SI SocketConnecteBluetooth(sNom,"SerialPortServiceClass_UUID",OPTIONE.IMPRIMENTS) = Faux ALORS

    Erreur("Impossible de créer le connexion Bluetooth a l'imprimante", ErreurInfo(errComplet))
    RETOUR
    SINON
    SocketChangeModeTransmission(sNom,SocketMarqueurFinBuffer,RC)


    HLitPremier(OPTIONE)
    sEntte=" "+ OPTIONE.ACTIVITE+RC+" "+ OPTIONE.Adresse+RC+" "+ OPTIONE.Telephone
    SocketEcrit(sNom,"----------------------------------------------" )
    SocketEcrit(sNom,sEntte)
    SocketEcrit(sNom,"----------------------------------------------" )
    SocketEcrit(sNom,sDatet)
    SocketEcrit(sNom,"Client :"+SAI_NOMCLIENTS+" ---Bon N° "+BonPour.IDBonPour)



    SocketEcrit(sNom,"---------------------------------------------" )
    SocketEcrit(sNom," QTE - Produit - Prix - TOTAL" )
    SocketEcrit(sNom,"--------------------------------------")

    POUR xc=1 À TableOccurrence(TABLE_Achats)
    tx=TABLE_Achats.COL_PRODUITS[xc]
    txr= TABLE_Achats.COL_QTE[xc]+" "+tx+" "+NumériqueVersChaîne(TABLE_Achats.COL_PRIXVENTE[tx],"10.2f")+" "+NumériqueVersChaîne(TABLE_Achats.COL_TOTAL[xc],"10.2f")
    //Info(txr)
    SocketEcrit(sNom,txr)
    //SocketEcrit(sNom,UnicodeVersAnsi("-------------------------------------"))
    FIN
    SocketEcrit(sNom,UnicodeVersAnsi("__________________________"))
    SocketEcrit(sNom,UnicodeVersAnsi(" Total :"+NumériqueVersChaîne(SAI_totalbons,"10.2f")))
    SocketEcrit(sNom,UnicodeVersAnsi("A-Solde: "+NumériqueVersChaîne(SAI_totalsoldeancian,"10.2f")))
    SocketEcrit(sNom,UnicodeVersAnsi("Verse : "+NumériqueVersChaîne(SAI_VVRE3,"10.2f")))
    SocketEcrit(sNom,UnicodeVersAnsi("N-Solde: "+NumériqueVersChaîne(SAI_reste,"10.2f")))
    SocketEcrit(sNom,UnicodeVersAnsi("_________________________"))


    SocketFerme(sNom)
    FIN[/windev]
     
    Tags:
  2. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,884
    J'aime reçus:
    1,532
    Référence de l'imprimante?
     
  3. RADOUANE999

    RADOUANE999 Member

    Inscrit:
    Mar 21, 2018
    Messages:
    66
    J'aime reçus:
    18
    mon impriment est SPRT SP-l31
     
  4. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,884
    J'aime reçus:
    1,532
    Sdk Android et brochure

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  5. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,884
    J'aime reçus:
    1,532
    Manuel

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  6. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,884
    J'aime reçus:
    1,532
    Après lecture du manuel
    Les langues acceptés sont l'anglais, le chinois et le japonais.
    Mais accepte la réception de caractères hexadécimal.
    Donc soit tu écris en caractères occidentales soit tu essaies en Hexa mais pas sur que cela fonctionne.
     
  7. RADOUANE999

    RADOUANE999 Member

    Inscrit:
    Mar 21, 2018
    Messages:
    66
    J'aime reçus:
    18
    merci ..j ai lu ça..
    mais il des application sur APP STOR qui permets de imprime en langage arabe sans problème avec cette même impriment ..i
    est sur le manual de l impriment j ai trouve qui il faux utilise la font /codage
    je cherche meme si il y des code en java si possible qui permette de faire ca -

    Print Codepage CP720 Arabic font
    Print Codepage CP864 Arabic font
     
  8. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,884
    J'aime reçus:
    1,532
    Si il y a une app sur le store, tu la récupères et la decompile puis tu regardes en Java comment ils ont fait.
     
  9. RADOUANE999

    RADOUANE999 Member

    Inscrit:
    Mar 21, 2018
    Messages:
    66
    J'aime reçus:
    18
    merci...j essai mais il y trop de code et de classe
    tout meme j essai
     
  10. kotlinisland

    kotlinisland Member

    Inscrit:
    Nov 5, 2020
    Messages:
    36
    J'aime reçus:
    6
    Je ne sais pas si cela peut aider mais il y a ce code sur Github :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Et aussi :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    J'espère que cela te mettra sur la piste d'une solution :)

    Edit :
    D'autres pistes sur le site de SPRT-PRINTER :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
    #10 kotlinisland, Déc 22, 2020
    Dernière édition: Déc 22, 2020
  11. RADOUANE999

    RADOUANE999 Member

    Inscrit:
    Mar 21, 2018
    Messages:
    66
    J'aime reçus:
    18
    merci ..j ai trouve un application sur le app store ..RAWBT 5.2 ..j aimprime en pdf et je fait lanceappliassociée sur le fichier pdf cree..il s imprime bien ....il me reste simplement a test avec la langue arabe --
     
    kotlinisland apprécie ceci.
  12. kotlinisland

    kotlinisland Member

    Inscrit:
    Nov 5, 2020
    Messages:
    36
    J'aime reçus:
    6
    Ok je vois... Tu utilises une application externe pour imprimer...
    Mais si jamais tu veux le faire depuis ton application c'est juste une commande "ESC" à passer à ton imprimante pour choisir un "codepage".
     
  13. RADOUANE999

    RADOUANE999 Member

    Inscrit:
    Mar 21, 2018
    Messages:
    66
    J'aime reçus:
    18
    avec "ESC" comment fair pour envoyer cette commande pour le codage de langue.......pour l arabe

    avec les socket c'est facile pour imprimer en langue Français
     
  14. kotlinisland

    kotlinisland Member

    Inscrit:
    Nov 5, 2020
    Messages:
    36
    J'aime reçus:
    6
    Essaye en envoyant l'octet 27 suivi de la valeur que tu souhaites, comme décrit dans les documentations SPRT PRINTER dont j'ai donné les liens.
     
  15. RADOUANE999

    RADOUANE999 Member

    Inscrit:
    Mar 21, 2018
    Messages:
    66
    J'aime reçus:
    18
    j ai pas bien compris - envoyer octet 27 par Socket
    dans un buffer ou une chaine


    TEST est un Buffer
    TEST= Caract (27) + "MON MESSAGE"
    SocketEcrit(MASOCKET,TEST)
     
  16. kotlinisland

    kotlinisland Member

    Inscrit:
    Nov 5, 2020
    Messages:
    36
    J'aime reçus:
    6
    Dans une des documentations dont je vous ai donné le lien (

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ) il est spécifié :

    [​IMG]

    Plus bas dans le document il est spécifié la valeur à envoyer pour la variable "n" :

    [​IMG]

    Je parle bien de COMMANDE et non de MESSAGE ;)
    C'est une commande que vous devez envoyer à l'imprimante, donc une série d'octets qui est :
    27 suivi de 116 suivi de 22

    Enfin, je suppose que cela devrait fonctionner avec votre imprimante si vous avez utilisé une autre application qui a pu définir ce codepage (CP864)...

    Pour la fin de la commande, je pense qu'un CRLF serait probablement nécessaire ("\r\n" ou 0x0d puis 0x0a en héxadécimal, ou encore 13 puis 10 en décimal) donc au final :
    27 puis 116 puis 22 puis 13 puis 10.

    Essayez et dites-nous si cela fonctionne ou pas ?
     
    #16 kotlinisland, Déc 29, 2020
    Dernière édition: Déc 29, 2020
  17. RADOUANE999

    RADOUANE999 Member

    Inscrit:
    Mar 21, 2018
    Messages:
    66
    J'aime reçus:
    18
    merci envoyer les commande

    SocketEcrit(sNom,CRLF) // passage de ligne
    SocketEcrit(sNom,Caract(0x0d)+Caract(0x0a)+13+10)


    // j v re-essai avec cette impriment ..

    merci bcp pour votre aide
     
    kotlinisland apprécie ceci.
  18. kotlinisland

    kotlinisland Member

    Inscrit:
    Nov 5, 2020
    Messages:
    36
    J'aime reçus:
    6
    Alors est-ce que ça fonctionne ?
     
  19. kotlinisland

    kotlinisland Member

    Inscrit:
    Nov 5, 2020
    Messages:
    36
    J'aime reçus:
    6
    Vous vous êtes trompé, vous devez essayer cela :
    SocketEcrit(sNom, Caract(27) + Caract(116) + Caract(22) + Caract( 13 ) + Caract(10))

    Ou quelque-chose dans le genre (peut-être un buffer contenant ces valeurs).
    Je vous conseille vivement de lire les documentations qui expliquent tout cela en détail.
     
  20. kotlinisland

    kotlinisland Member

    Inscrit:
    Nov 5, 2020
    Messages:
    36
    J'aime reçus:
    6
    Alors ? Cela fonctionne ou non ? Merci !
     

Partager cette page

Chargement...