DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions d'impression
  • Code WLangage sans utiliser la fonction iEscape
  • Envoi de données avec la fonction iEscape
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
iEscape (Fonction)
En anglais : iEscape
Envoie une commande ESCAPE ou une commande de données à une imprimante.
Attention, les commandes Escape sont spécifiques au matériel utilisé.
Les commandes Escape ne sont pas interprétées par le driver, mais envoyées directement à l'imprimante. Une commande Escape peut donc avoir un effet totalement différent d'une imprimante à l'autre.
Pour que les commandes Escape soient prises en compte vous ne devez pas utiliser d'aperçu avant impression.
Exemple
sSequenceEscape est une chaîne ANSI
i est une entier
 
iConfigure("Epson LQ-2170 ESC/P 2")
iDestination(iImprimante, "Retour d'étiquettes")
 
// 3 fois 6 demandes de retour de 7/216ieme de pouce
// pour revenir en arrière de 3 étiquettes
// (pour l'imprimante utilisée)
POUR i = 1 À 6*3
sSequenceEscape += ESC + "j7"
FIN
 
// Envoi des commandes Escape en une seule fois
iEscape(sSequenceEscape)
 
// Vous pouvez ajouter ici d'autres ordres d'impressions, d'autres appels à iEscape...
...
 
// Fin de l'impression
iFinImprime()
Syntaxe
iEscape(<Commande à envoyer>)
<Commande à envoyer> : Chaîne de caractères ANSI
Séquence Escape à envoyer à l'imprimante. Ces commandes sont propres à chaque imprimante.
La totalité de la commande Escape doit être spécifié, caractère Esc compris s'il est nécessaire.
Consultez la documentation de l'imprimante pour connaître la liste de ses commandes Escape.
Remarques

Code WLangage sans utiliser la fonction iEscape

Pour comparaison voici un code WLangage permettant d'envoyer des codes Escape à une imprimante par écriture directe sur le port :
sPort est une chaîne ="LPT1"
// Ouverture du port
nNumFic est un entier = fOuvre(sPort, foEcriture)
SI nNumFic = -1 ALORS
Erreur("Echec d'ouverture de " + sPort, ErreurInfo())
RENVOYER Faux
FIN
// Ici 3 fois 6 demandes de retour de 7/216ieme de pouce
// (pour l'imprimante utilisée)
POUR i = 1 À 6*3
 fEcrit(nNumFic, ESC + "j7")
FIN
// Fermeture du port
fFerme(nNumFic)

Envoi de données avec la fonction iEscape

La fonction iImprime permet d'envoyer des données au pilote de l'imprimante.
La fonction iEscape permet d'envoyer des données directement à l'imprimante.
Si une commande ESCAPE est envoyée à l'imprimante avec la fonction iEscape, par exemple pour préciser une taille de police, cette taille de police sera ignorée si des données sont ensuite envoyées avec la fonction iImprime qui fait l'envoi au pilote.
Par exemple, l'impression vers une imprimante ticket sans utiliser le pilote de l'imprimante se fera donc sans appel de la fonction iImprime :
INITIMPR est une chaîne ANSI = Caract(27) + "@"
CPI10 est une chaîne ANSI = Caract(27) + "[4w"
CPI15 est une chaîne ANSI = Caract(27) + ""[6w""
 
iConfigure("epson")
iDestination(iImprimante, "test")
iEscape(INITIMPR)
iEscape(CPI10+RC)
iEscape("TEST 10 CPI normal" + RC)
iEscape(RC)
iEscape(CPI15)
iEscape("TEST 15 CPI normal" + RC)
iEscape(RC)
iEscape("   fin des tests" + RC)
iFinImprime())
Composante : wd300prn.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 21/06/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale