Piloter votre imprimante sous Windows et Mac OS X avec 4D 2004
Date de publication : Septembre 2005
Par
Aziz ELGHOMARI (Directeur Support Technique 4D SA)
I.
Introduction
II.
Utilisation des commandes du Plug-in (Sous Windows)
GetPrinterList
DefaultPrinter
Setprinter
Spécificités Windows 2000 et supérieur
III.
Utilisation d’AppleScript pour Mac Os X
IV.
Base exemple
Partie MacOS
Partie Windows
V.
Conclusion
VI. Bases exemples
I.
Introduction
A partir de 4D 2003, de nouvelles commandes 4D (Lire imprimante courante, FIXER IMPRIMANTE COURANTE, LISTE IMPRIMANTES) permettent de désigner l'imprimante à utiliser pour les impressions avec l'application 4D courante (pour les imprimantes réseaux et local) sans modifier l'imprimante par défaut.
La méthode proposée par cette note technique (sous forme de Plug-in pour Windows et AppleScript pour Macintosh) modifie directement l'imprimante définie par défaut et de ce fait toutes les applications (plug-ins compris bien sûr) peuvent bénéficier du changement d'imprimante à la volée.
II.
Utilisation des commandes du Plug-in (Sous Windows)
Les fonctions du Plug-in PiloterImprimante sont les suivantes :
GetPrinterList
MyErr:=GetPrinterList(Liste_Imprimante)
| Paramètre |
Type |
Description |
| Liste_Imprimante |
Tableau Alpha |
<- Liste des imprimantes retournées |
| MyErr |
Entier |
<- Code d’erreur retourné |
Nous récupérons dans le tableau alphanumérique la liste des imprimantes (locales et réseaux) disponibles dans la machine.
 |
Note : Le code d'erreur retourne 0, si tout va bien et 1 s'il y a un problème.
|
TABLEAU ALPHA(60;Liste_imprimante;10)
C_ALPHA(80;Nom_tab)
C_ENTIER(MyErr)
MyErr:=GetPrinterList (Liste_imprimante)
DefaultPrinter
MyErr:=DefaultPrinter (imprimante_par_defaut)
| Paramètre |
Type |
Description |
| Imprimante par défaut |
Tableau Alpha |
<- Nom de l’imprimante par défaut |
| MyErr |
Entier |
<- Code d’erreur retourné |
Nous récupérons dans le paramètre de type chaîne, l'imprimante définie par défaut par l'utilisateur.
C_ENTIER LONG(MyErr)
C_ALPHA(80;imprimante_par_defaut)
MyErr:=DefaultPrinter (imprimante_par_defaut)
Setprinter
MyErr:=SelectPrinter (imprimante_a_definir)
| Paramètre |
Type |
Description |
| Imprimante à définir |
Chaîne |
<- Nom de l’imprimante par défaut |
| MyErr |
Entier |
<- Code d’erreur retourné |
C_ENTIER LONG(MyErr)
C_ALPHA(80;imprimante_a_definir)
imprimante_a_definir="\\DC-1\Laser HP Support"
MyErr4:=SelectPrinter (imprimante_a_definir)
Nous passons dans le paramètre de type chaîne, le nom de l'imprimante que nous voulons définir par défaut.
Spécificités Windows 2000 et supérieur
SelectPrinter
Pour définir l'imprimante définie par défaut, il faut utiliser la commande GetDefaultPrinter.
ListPrinter
Pour récupérer la liste des imprimantes, il faut utiliser la commande EnumPrinters et lui passer le paramètre PRINTER_ENUM_LOCAL pour les imprimantes locales et PRINTER_ENUM_CONNECTIONS pour les imprimantes réseaux.
Defaultprinter
Pour récupérer l'imprimante par défaut, il faut utiliser la commande SetDefaultPrinter.
III.
Utilisation d’AppleScript pour Mac Os X
Pour MacOs X nous allons exécuter l'Applescript qui va nous permettre de modifier à la volée l'imprimante définie par défaut.
Contenu de l'AppleScript
tell application "Printer Setup Utility"
set dialogsentence to "" -- item 1 of param1 as text
set prntlist to {} as list
repeat with i from 1 to the (count of printer)
set pname to name of printer i
set the end of prntlist to pname
end repeat
set the dialog_result to choose from list prntlist with prompt dialogsentence --"Choisissez la nouvelle imprimante"
if result is not {} and result is not equal to false then
set newprinter to the result as text
set current printer to printer newprinter
quit
end if
end tell
et pour l'exécuter nous allons utiliser la nouvelle commande 4D 2004 : LANCER PROCESS EXTERNE
Exemple
LANCER PROCESS EXTERNE ("osascript \""+$CheminApplescript+"\"";$in;$out;$error)
IV.
Base exemple
Partie MacOS
Lorsque vous cliquez sur l'item «Démonstration» du menu Fichier, l'écran suivant apparaît
Dans la liste déroulante à droite s'inscrit la liste des imprimantes, la partie « Imprimante par défaut », nous récupérons l'imprimante par défaut :
Le bouton « Définir comme défaut » permet d'exécuter l'AppleScript et d'avoir le dialogue de modification de l'imprimante par défaut :
Le bouton "Driver Par Défaut" dans la partie «Test Impression» affiche le format d'impression.
Partie Windows
Lorsque vous cliquez sur l'item Demonstration du menu Fichier, l'écran suivant apparaît :
Le test se décompose en trois phases :
-
Liste des drivers : en cliquant sur le bouton "Remplir la liste", la liste des imprimantes s'affiche.
-
Imprimante par défaut : après avoir sélectionné une imprimante par défaut dans la liste des drivers, cela vous affiche le nom de l'imprimante qui a été sélectionnée par défaut.
-
Tester l'impression : vous renvoie la fenêtre d'impression. Depuis celle-ci, vous pouvez définir votre format d'impression.
V.
Conclusion
La note technique va permettre de modifier à la volée l'imprimante définie par défaut au niveau de la machine sous Windows et sous Macintosh, et toutes les applications (les Plug-ins 4D compris) pourront bénéficier du changement d'imprimante.
Le plug-in pour Windows et l'applescript pour 4D peuvent être utilisés directement dans vos codes, le code source livré peut être amélioré ou intégré à d'autres développements.
VI. Bases exemples
__________________________________________________
Copyright © 1985-2008 4D SA - Tous droits réservés
Tous les efforts ont été faits pour que le contenu de cette note technique présente le maximum de fiabilité possible.
Néanmoins, les différents éléments composant cette note technique, et le cas échéant, le code, sont fournis sans garantie d'aucune sorte.
L'auteur et 4D S.A. déclinent donc toute responsabilité quant à l'utilisation qui pourrait être faite de ces éléments, tant à l'égard de leurs
utilisateurs que des tiers.
Les informations contenues dans ce document peuvent faire l'objet de modifications sans préavis et ne sauraient en aucune manière engager
4D SA. La fourniture du logiciel décrit dans ce document est régie par un octroi de licence dont les termes sont précisés par ailleurs dans la
licence électronique figurant sur le support du Logiciel et de la Documentation afférente. Le logiciel et sa documentation ne peuvent être
utilisés, copiés ou reproduits sur quelque support que ce soit et de quelque manière que ce soit, que conformément aux termes de cette
licence.
Aucune partie de ce document ne peut être reproduite ou recopiée de quelque manière que ce soit, électronique ou mécanique, y compris par
photocopie, enregistrement, archivage ou tout autre procédé de stockage, de traitement et de récupération d'informations, pour d'autres buts
que l'usage personnel de l'acheteur, et ce exclusivement aux conditions contractuelles, sans la permission explicite de 4D SA.
4D, 4D Calc, 4D Draw, 4D Write, 4D Insider, 4ème Dimension ®, 4D Server, 4D Compiler ainsi que les logos 4e Dimension, sont des marques
enregistrées de 4D SA.
Windows,Windows NT,Win 32s et Microsoft sont des marques enregistrées de Microsoft Corporation.
Apple, Macintosh, Power Macintosh, LaserWriter, ImageWriter, QuickTime sont des marques enregistrées ou des noms commerciaux de Apple Computer,Inc.
Mac2Win Software Copyright © 1990-2002 est un produit de Altura Software,Inc.
4D Write contient des éléments de "MacLink Plus file translation", un produit de DataViz, Inc,55 Corporate drive,Trumbull,CT,USA.
XTND Copyright 1992-2002 © 4D SA. Tous droits réservés.
XTND Technology Copyright 1989-2002 © Claris Corporation.. Tous droits réservés ACROBAT © Copyright 1987-2002, Secret
Commercial Adobe Systems Inc.Tous droits réservés. ACROBAT est une marque enregistrée d'Adobe Systems Inc.
Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires
respectifs.
__________________________________________________
 
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur.
La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
|