La commande FIXER OPTION IMPRESSION permet de modifier par programmation la valeur d’une option d’impression. Chaque option définie à l’aide de cette commande est appliquée dans toute la base et durant toute la session tant qu’aucune autre commande modifiant les paramètres d’impression (PARAMETRES IMPRESSION, IMPRIMER SELECTION sans le paramètre >, etc.) n’est appelée. Si une tâche d'impression a été ouverte, l'option est définie pour la tâche et n'est pas modifiable tant que la tâche n'est pas terminée.
Le paramètre option vous permet de désigner l’option à modifier. Vous pouvez passer soit une des constantes prédéfinies du thème Options d'impression, soit un code d'option PDF (utilisable avec le pilote PDFCreator sous Windows uniquement). Passez dans les paramètres valeur1 et (facultativement) valeur2 la ou les nouvelle(s) valeur(s) de l’option spécifiée. Le nombre et la nature des valeurs à passer dépend du type d’option spécifiée.
Le tableau suivant liste les options et leurs valeurs possibles :
Constante
Type
Valeur
Comment
Option papier
Entier long
1
Si vous passez uniquement valeur1, il contient le nom du papier. Si vous passez les deux paramètres, valeur1 contient la largeur du papier et valeur1 contient la hauteur du papier. La largeur et la hauteur sont exprimées en pixels écran. Utilisez la commande VALEURS OPTION IMPRESSION pour connaître le nom, la hauteur et la largeur de tous les formats de papier proposés par l’imprimante.
Option orientation
Entier long
2
valeur1 uniquement : 1=Portrait, 2=Paysage. Si une option d’orientation différente est utilisée, LIRE OPTION IMPRESSION retourne 0 dans valeur1. Versions 64 bits : Cette option peut être appelée au sein d'une tâche d'impression, ce qui signifie que vous pouvez passer du mode portrait au mode paysage et inversement dans la même tâche d'impression.
Option échelle
Entier long
3
valeur1 uniquement : valeur d'échelle en pourcentage. Attention, certaines imprimantes ne permettent pas de modifier l’échelle. Si vous passez une valeur invalide, la propriété est remise à 100% au moment de l'impression.
(Windows uniqument) valeur1 uniquement : numéro correspondant à l’indice, dans le tableau des bacs retourné par la commande VALEURS OPTION IMPRESSION, du bac papier à utiliser. Cette option est utilisable sous Windows uniquement.
Option couleur
Entier long
8
(Windows uniquement) valeur1 uniquement : code indiquant le mode de prise en charge de la couleur : 1=Noir et blanc (monochrome), 2=Couleur. Versions 64 bits : Cette option n'est pas prise en charge dans les versions 64 bits de 4D (obsolète).
Option destination
Entier long
9
valeur1: code indiquant le type de destination de l’impression : 1=Imprimante, 2=Fichier (PC)/PS (Mac), 3=Fichier PDF, 5=Ecran (option du pilote OS X) Si valeur1 est différent de 1 ou de 5, valeur2 contient un chemin d’accès pour le document résultant. Ce chemin sera utilisé jusqu’à ce qu’un autre chemin soit spécifié. Si un fichier du même nom existe déjà à l’emplacement de destination, il est remplacé. Avec LIRE OPTION IMPRESSION, si la valeur courante n’est pas dans la liste prédéfinie, valeur1 contient -1 et la variable système OK vaut 1. Si une erreur se produit, valeur1 et la variable système OK valent 0. Note : Sous Windows, vous pouvez définir la destination d'impression 3 (Fichier PDF) lorsque le pilote PDF Creator a été installé. Lorsque les valeurs (9;3;chemin) sont passées, 4D lance automatiquement une impression PDF "silencieuse" et prend en compte les codes d'options éventuellement passés (à noter que si vous passez une chaîne vide dans valeur2 ou omettez ce paramètre, une boîte de dialogue d’enregistrement de fichier apparaît au moment de l’impression). A l'issue de l'impression, les paramétrages courants sont restaurés. Ce principe simplifie le pilotage des impressions PDF par 4D et permet d'écrire du code multi-plate-forme. Si les valeurs (9;3;chemin) ne sont pas passées, l'impression n'est pas pilotée par 4D et les éventuels codes d'options de PDF Creator sont ignorés.
Option recto verso
Entier long
11
(Windows uniquement) valeur1: 0=Recto ou standard, 1=Recto-verso. Si valeur1=1, valeur2 contient la reliure à appliquer : 0=Reliure à gauche (valeur par défaut), 1=Reliure en haut. Note : Cette option est utilisable sous Windows uniquement.
Option nom document à imprimer
Entier long
12
valeur1 uniquement : nom du document d’impression, qui apparaît dans la liste des documents du serveur d’impression. Le nom défini par cette instruction sera utilisé pour tous les documents d’impression de la session tant qu’un nouveau nom ou une chaîne vide ne sera pas passé(e). Pour utiliser ou rétablir le fonctionnement standard (utilisation du nom de la méthode dans le cas d’une méthode, nom de la table pour un enregistrement, etc.), passez une chaîne vide dans valeur1.
Option mode impression Mac
Entier long
13
(Mac uniquement) valeur1 uniquement : 0=impression en mode PDF (valeur par défaut), 1=impression en mode Postscript. Notes : - Cette option n’a pas d’effet sous Windows. - Sous OS X, les impressions sont effectuées par défaut en mode PDF. Or, le pilote d’impression PDF ne prend pas en charge les images PICT encapsulant des informations Postscript — ces images sont générées notamment par des logiciels de dessin vectoriel. Pour résoudre ce problème, cette option permet de modifier le mode d’impression sous OS X pour la session courante. Attention, l'impression en mode Postscript peut entraîner des effets de bords indésirables. Versions 64 bits : Cette option n'est pas prise en charge ; elle est remplacée par l'utilisation de l'option Driver PDF générique de la commande FIXER IMPRIMANTE COURANTE.
Option masquer progression impr
Entier long
14
(Mac uniquement) valeur1 uniquement : 1=masquer toutes les fenêtres de progression d'impression, 0=afficher les fenêtres de progression d'impression (fonctionnement par défaut). Cette option est particulièrement utile dans le cadre des impressions en PDF sous OS X. Note : Il existe déjà une option d’affichage Progression de l’impression accessible via la boîte de dialogue des Propriétés de la base (page Interface). Toutefois, elle est globale à l’application et ne masque pas toutes les fenêtres sous OS X.
Option intervalle de page
Entier long
15
valeur1=numéro de la première page à imprimer (valeur par défaut 1) et (optionnel) valeur2=numéro de la dernière page à imprimer (valeur par défaut -1 = fin du document).
Option ancienne couche impression
Entier long
16
(Versions 4D 64 bits pour Windows uniquement) valeur1 uniquement : 1=sélectionner l'ancienne couche d'impression GDI pour toutes les tâches d'impression suivantes, 0=sélectionner la couche d'impression D2D (défaut). Versions 64 bits : Ce sélecteur est pris en charge dans les applications 4D 64 bits monopostes sous Windows uniquement, et est ignoré pour les autres plates-formes. Il est principalement destiné, dans ces applications, à permettre aux plug-ins d'ancienne génération d'imprimer dans des tâches d'impression 4D.
Une fois fixée à l’aide de cette commande, une option d’impression sera conservée durant toute la session pour l’application 4D entière. Elle sera utilisée par les commandes IMPRIMER SELECTION, IMPRIMER ENREGISTREMENT, Imprimer ligne, QR ETAT et par toutes les impressions de 4D, y compris en mode Développement.
Notes :
Il est impératif d’utiliser le paramètre optionnel > avec les commandes IMPRIMER SELECTION, IMPRIMER ENREGISTREMENT et SAUT DE PAGE afin de ne pas réinitialiser les options d’impression définies à l’aide de la commande FIXER OPTION IMPRESSION.
La commande FIXER OPTION IMPRESSION prend principalement en charge les imprimantes PostScript. Elle peut être utilisée avec d'autres types d'imprimantes, telles que PCL ou Ink, mais dans ce cas il est possible que certaines options ne soient pas disponibles.
Pour pouvoir utiliser un code d'option PDF dans le paramètre option, vous devez avoir installé le pilote PDFCreator dans votre environnement 4D (pour plus d’informations, reportez-vous à la section Intégration du pilote PDFCreator sous Windows). De plus, pour que le code d'option soit pris en compte, vous devez avoir activé le pilotage de l'impression PDF par 4D via l'instruction suivante :
Dans le cas contraire, les codes d'options sont ignorés.
Un code d'option PDF est une valeur de type texte constituée de deux parties, TypeOption et NomOption, assemblées sous la forme "TypeOption:NomOption". Voici la description de ce code :
TypeOption indique si vous désignez une option native de PDFCreator ou une option d’administration PDF de 4D. Deux valeurs sont acceptées :
PDFOptions = option native
PDFInfo = option interne.
NomOption désigne l’option à définir (dépend de la valeur de TypeOption).
Si TypeOption = PDFOptions, vous pouvez passer dans NomOption l’une des nombreuses options natives de PDFCreator. Par exemple, l’option UseAutosave agit sur la sauvegarde automatique. Pour pouvoir modifier cette option, passez "PDFOptions:UseAutosave" dans le paramètre option et la valeur à utiliser dans le paramètre valeur1. Pour une description complète des options natives de PDFCreator, reportez-vous à la documentation livrée avec le pilote PDFCreator.
Si TypeOption = PDFInfo, vous pouvez passer dans NomOption un des sélecteurs spécifiques suivants :
Reset print : permet de réinitialiser le statut d’attente interne afin, notamment, de sortir d’une boucle infinie. Dans ce cas, valeur1 n’est pas utilisé.
Reset standard options : permet de rétablir toutes les options de PDFCreator à leurs valeurs par défaut. Si une impression est en cours, les paramètres par défaut sont appliqués à l’issue de l’impression. Dans ce cas, valeur1 n’est pas utilisé.
Start : permet de démarrer ou de stopper le spouler de PDFCreator. Passez 0 dans valeur1 pour le stopper et 1 pour le démarrer.
Reset options : permet de réinitialiser toutes les options modifiées depuis le début de la session à l’aide de la commande FIXER OPTION IMPRESSION et du sélecteur PDFOptions.
Version : permet de lire le numéro de version courant du pilote PDFCreator. Ce sélecteur peut être utilisé uniquement avec la commande LIRE OPTION IMPRESSION. Le numéro est retourné dans le paramètre valeur1.
Last error : permet de lire la dernière erreur retournée par le pilote PDFCreator. Ce sélecteur peut être utilisé uniquement avec la commande LIRE OPTION IMPRESSION. Le numéro de l’erreur est retourné dans le paramètre valeur1.
Print in progress : permet de savoir si 4D est en attente d’une impression de PDFCreator. Ce sélecteur peut être utilisé uniquement avec la commande LIRE OPTION IMPRESSION. Le paramètre valeur1 retourne 1 si 4D est en attente de PDFCreator et 0 dans le cas contraire.
Job count : permet de connaître le nombre de tâches en attente dans la file d’impression. Ce sélecteur peut être utilisé uniquement avec la commande LIRE OPTION IMPRESSION. Le nombre de tâches est retourné dans le paramètre valeur1.
Synchronous Mode : permet de fixer le mode de synchronisation entre les requêtes d’impression envoyées par 4D et le pilote PDFCreator. Comme 4D ne peut pas obtenir d’information concernant le statut courant d’une tâche d’impression présente dans la file d’impression, une option permet de mieux contrôler l’exécution des tâches en ne les envoyant que lorsque le statut du pilote PDFCreator est "libre". Dans ce cas, 4D est synchronisé avec le pilote. Passez 0 dans valeur1 pour que 4D envoie immédiatement les requêtes d’impression (valeur par défaut) et 1 pour que 4D soit synchronisé et attende que le pilote ait terminé sa tâche en cours avant d’en envoyer une autre.
Note : Après chaque impression, 4D rétablit automatiquement les paramètres précédents du pilote PDFCreator afin d’éviter toute interférence avec les autres programmes utilisant PDFCreator.
La méthode suivante active le pilotage PDF de manière à imprimer tous les enregistrements de la table à l'emplacement C:\Test\Test_PDF_N où N est le numéro de séquence de l’enregistrement :
FIXER IMPRIMANTE COURANTE(PDFCreator Nom imprimante) // Sous Windows, sélectionner l’imprimante virtuelle installée par PDFCreator Si(OK=1) // Si PDFCreator est bien installé
TOUT SELECTIONNER([Table_1]) Boucle($i;1;Enregistrements trouves([Table_1])) FIXER OPTION IMPRESSION(Option destination;3;"C:\\Test\\Test_PDF_"+Chaine($i)) // L'option de destination 3 déclenche une tâche d'impression PDFCreator IMPRIMER ENREGISTREMENT([Table_1];*) ENREGISTREMENT SUIVANT([Table_1]) Fin de boucle // Réinitialisation des options du pilote PDFCreator FIXER OPTION IMPRESSION("PDFInfo:Reset standard options";0) Fin de si
La valeur de l'option Option orientation en version 64 bits peut être modifiée à l'intérieur d'une même tâche d'impression (cas particulier). A noter que l'option doit être définie avant la commande SAUT DE PAGE :
La variable système OK prend la valeur 1 si la commande a été exécutée correctement, sinon elle prend la valeur 0. Si vous passez un code d'option invalide (option non reconnue par PDFCreator par exemple), OK prend la valeur 0.
Si la valeur passée pour une option est invalide ou si elle n'est pas disponible sur l'imprimante, la commande retourne une erreur (que vous pouvez intercepter à l’aide d’une méthode de gestion d’erreur installée par la commande APPELER SUR ERREUR) et la valeur courante de l’option est inchangée.