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

API, COM et SDKs Delphi Discussion :

Imprimer sur une ZEBRA 2844


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Par défaut Imprimer sur une ZEBRA 2844
    Bonjour,

    Savez vous comment imprimer avec Delphi sur une imprimante ZEBRA 2844 connecté en USB?
    J'arrive à envoyer les commandes d'impression en java mais en utilisant Delphi l'imprimante n'interprète pas les commandes.
    Exemple :
    en Java, le message est bien imprimé, mais en Delphi il affiche A500,10...
    Code Java :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    String s =  "A500,10,1,2,1,1,N,\"TEST\"\n" +"P1\n";
    byte[] by = s.getBytes();
    DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
    Doc doc = new SimpleDoc(by, flavor, null);
    job.print(doc, null);

    Code Delphi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    AssignPrn(PrintText);
    Rewrite(PrintText);
    WriteLn(PrintText,'A500,10,1,2,1,1,N,\"TEST\"\n" +"P1\n');
    Writeln(PrintText,'')}
    CloseFile(PrintText);
    Merci.

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 933
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 933
    Par défaut
    Je ne sais pas à quoi servent test codes mais, les Zebra 2844 s'utilisent comme n'importe quel imprimante en dessinant ou écrivant directement sur le Printer.Canvas.

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 593
    Billets dans le blog
    65
    Par défaut
    Bonjour , je te souhaites la bienvenue sur le forum

    si tu veux envoyer directement du code ZPL (Zebra Printer Language) avec Delphi voici un extrait de code ici impression sur LPT1

    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
    procedure TLabels.ImprimerDirectClick(Sender: TObject);
    var i,n,k : Word;
        WLancement,commande : String;
        Lpt2: TextFile;
    begin
    AssignFile(Lpt2,'LPT1');
    Rewrite(Lpt2);
    WLancement:=Format('%s-%d-%d',[Data.LignesLancement.FieldByName('SAISON').asString,
                                   Data.LignesLancement.FieldByName('NUMERO').asInteger,
                                Data.LignesLancement.FieldByName('LIGNE').asInteger]);
    Writeln(Lpt2,'^XA^MCY^XZ^XA^IDLABSOFT^FS^XZ');
    Writeln(Lpt2,'^XA^LRN^FWN^CFD,24^LH0,0^CI0^PR2^MNY^MTT^MMT^MD4^PON^PMN');
    Writeln(Lpt2,'^ADN,36,30^FO37,151^FD'+WLancement+'^FS');
    Writeln(Lpt2,'^A0N,31,46^FO33,231^FD'+Commande+'^FS');
    Writeln(Lpt2,'^PQ1,0,1,Y');
    Writeln(Lpt2,'^XZ');
    CloseFile(Lpt2);

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Par défaut
    Bonjour et merci pour votre réponse rapide.

    Dans le document de programmation EPL de Zebra les commandes sont de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    B500,10,1,E30,3,7,100,B,"612041600021580109"\n
           A370,10,1,4,1,1,N,"Exemple1"\n
    Alors que dans votre code c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     ^XA^MCY^XZ^XA^IDLABSOFT^FS^XZ
    ^XA^LRN^FWN^CFD,24^LH0,0^CI0^PR2^MNY^MTT^MMT^MD4^PON^PMN
    ^ADN,0,30^FO37,151^FDTEST^FS
    ^A0N,31,46^FO33,231^FDCOMMANDE^FS
    ^PQ1,0,1,Y
    ^XZ
    Est ce le même langage ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Par défaut
    Effectivement vous utilisez le langage ZPL et non EPL, je vais vérifier si le ZPL est compatible avez la LP 2844.

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 593
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par zahcen Voir le message
    Effectivement vous utilisez le langage ZPL et non EPL, je vais vérifier si le ZPL est compatible avez la LP 2844.
    l'important c'était surtout l'utilisation de assignfile,rewrite,writeln,et closefile

    ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    AssignFile(Lpt2,'LPT1');
    Rewrite(Lpt2);
    Writeln(Lpt2,'B500,10,1,E30,3,7,100,B,'+Quotedstr('612041600021580109')+'\n
    A370,10,1,4,1,1,N,'+Quotedstr('Exemple1')+'\n');
    CloseFile(Lpt2);
    pourrait peut-être fonctionner dasn ton cas

    PS. Merci de mettre le code entre balise , surlignes le code et clique sur le boutton [#] , c'est plus facile à lire

Discussions similaires

  1. Imprimer sur une Zebra
    Par -Sylvain- dans le forum VBScript
    Réponses: 0
    Dernier message: 04/03/2011, 19h45
  2. Réponses: 2
    Dernier message: 31/03/2008, 14h30
  3. Imprimer sur une imprimante donnée
    Par scorpion37 dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/06/2006, 11h32
  4. imprimer sur une seule page
    Par cgodefrw dans le forum Access
    Réponses: 5
    Dernier message: 12/04/2006, 16h13
  5. Réponses: 3
    Dernier message: 27/11/2005, 17h59

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