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 :

comment faire la mise en page de l impression directe sur un port com


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 33
    Points : 17
    Points
    17
    Par défaut comment faire la mise en page de l impression directe sur un port com
    Bonjour à tous,
    j ai besoin de votre sur la mise en page d une impression directe sur un port com.
    j ai une imprimante epson tm-t88iii, et elle est très lente dans l'impression en utilisant le driver windows mais très rapide en utilisant l impression directe sur le port com, alors j ai ajouté un composant tcomport, je l ai configuré et j arrive à lancé l impression comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ComPort1.Connected := True;
    ComPort1.WriteStr('Mon text 1'  + #13#10);
    ComPort1.WriteStr('Mon text 2'  + #13#10);
    ComPort1.WriteStr('Mon text 3'  + #13#10);
    ComPort1.WriteStr('Mon text 4'  + #13#10);
    ComPort1.Connected := False;
    et l impression se fait toujours a gauche.

    Comment faire pour centrer le texte, souligné, le mettre en gras, et surtout imprimer en décalant le texte selon la taille de la marge.. etc

    Merci pour votre aide

    Remarque: juste d'avance sachez que le mode Printer genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Printer.BeginDoc;
    Printer.Canvas.Font.Size := 10;
    ne fonctionne pas, l'imprimante est toujours lente à imprimer

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 874
    Points : 11 363
    Points
    11 363
    Billets dans le blog
    6
    Par défaut
    Grâce aux séquences d'échappement, probablement : http://fr.scribd.com/doc/26547463/ESC-POS-Command-Guide

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 33
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par tourlourou Voir le message
    Grâce aux séquences d'échappement, probablement : http://fr.scribd.com/doc/26547463/ESC-POS-Command-Guide
    Merci beaucoup Tourlourou, ça fonctionne très bien, mais svp, vous avez cherché quoi comme mot clé pour trouver ça, presque 5 jours que je cherche mais j ai rien trouvé

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 755
    Points : 13 347
    Points
    13 347
    Par défaut
    Citation Envoyé par kameleon80 Voir le message
    Remarque: juste d'avance sachez que le mode Printer genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Printer.BeginDoc;
    Printer.Canvas.Font.Size := 10;
    ne fonctionne pas, l'imprimante est toujours lente à imprimer
    Suivant la police utilisée, tu es en mode graphique. Pour imprimer à pleine vitesse en passant par un canvas (ou BeginDoc, EndDoc), il faut sélectionner une police d'imprimante (mode caractère). De mémoire pour les anciens drivers : 20cpi, 15cpi ou 10cpi. Pour les récents (POS ADK) : FontA, FontB, etc.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 33
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Suivant la police utilisée, tu es en mode graphique. Pour imprimer à pleine vitesse en passant par un canvas (ou BeginDoc, EndDoc), il faut sélectionner une police d'imprimante (mode caractère). De mémoire pour les anciens drivers : 20cpi, 15cpi ou 10cpi. Pour les récents (POS ADK) : FontA, FontB, etc.
    je comprends ce que vous dites mais en pratique je vois pas comment procéder, c avec plaisir si vous pouvez nous éclaircir ça, merciiii

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 755
    Points : 13 347
    Points
    13 347
    Par défaut
    Egalement pour l'impression rapide d'un logo stocké dans l'imprimante et l'ouverture du tiroir caisse :

    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
    with Printer, Canvas do
    begin
      BeginDoc;
     
      //Impression du 1er logo stocké dans l'imprimante
      Font.Size := 10;
      Font.Name := 'control';
      TextOut(0, 0, 'G');  //Logo 1 = G
     
      //Texte (police à choisir en fonction du driver)
      Font.Name := 'FONTA11';
      //Font.Name := '15 CPI';
      TextOut(0, 0, 'Hello world');
     
      //Ouverture du tiroir si connecté
      Font.Size := 10;
      Font.Name := 'control';
      TextOut(0, 0, 'A');
     
      EndDoc;
    end;
    Pour charger une image dans l'imprimante, TM Flash logo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/04/2009, 04h27
  2. jsf comment faire la mise en page jsp
    Par glasgow dans le forum JSF
    Réponses: 15
    Dernier message: 07/04/2009, 10h07
  3. Comment faire une mise en page de ce genre
    Par beast666 dans le forum Débuter
    Réponses: 2
    Dernier message: 02/03/2009, 22h13
  4. Réponses: 11
    Dernier message: 02/06/2006, 11h35
  5. Réponses: 7
    Dernier message: 30/05/2006, 16h45

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