Imprimer en AutoLISP


On peut imprimer des données sur une imprimante en utilisant les fonctions d'entrée/sortie d'AutoLISP.

Exemple :

(defun c:IMP ( / f)
  (setq f (open "LPT1" "w")) ; Ouvre un descripteur de fichier en écriture sur le premier port parallèle
  (princ "1ere ligne" f) ; Imprime un texte
  (princ "\n2eme ligne" f) ; Imprime un autre texte sur une nouvelle ligne
  (princ (chr 12) f) ; Fait sortir la feuille
  (close f) ; Ferme le descripteur de fichier
  (princ)
)

En fait, au lieu de passer le nom d'un fichier à la fonction open, on indique le nom d'un port où une imprimante est connecté (LPT1 convient le plus souvent pour une imprimante locale sur le port parallèle). Ca fonctionne, mais il y a plusieurs limitations :

Pour imprimer sur une imprimante distante dans un réseau Windows, il suffit de remplacer LPT1 par le chemin de l'imprimante. Ce chemin se compose de deux parties : le nom de l'ordinateur sur lequel est connecté l'imprimante et le nom de l'imprimante elle même tel qu'il a été défini par l'administrateur de votre réseau. Ces deux informations peuvent être obtenues en explorant le voisinage réseau à l'aide de l'explorateur Windows. Le chemin est de la forme : \\NomOrdinateur\NomImprimante.

Par exemple, pour imprimer sur l'imprimante HP connecté à l'ordinateur de Pierre, on aura quelque chose qui ressemblera à ceci :

(setq f (open "\\Pierre\hp_pierre" "w"))

Retour aux trucs et astuces