Vous voulez imprimer les fichiers RTF générés avec ODS RTF dans une autre forme que le format A4. Quelle option utiliser pour utiliser un autre format standard comme le format LETTRE ? Comment personnaliser la zone d’impression et gérer les marges en conséquences ?
1. Par défaut, le papier est au format A4 (21cm/29,7cm)
ods listing close;
ods rtf file=‘C:/sasref/margin_example.rtf’;
proc print data=sashelp.class;
run;
ods rtf close;
ods listing;
2. Changer la taille du papier pour l’impression pour une lettre (21,59cm/27,94cm)
options papersize=letter;
ods listing close;
ods rtf file=‘C:/sasref/margin_example.rtf’;
proc print data=sashelp.class;
run;
ods rtf close;
ods listing;
3. Personnaliser la taille (21cm/27,94cm)
Afin de personnaliser les marges dans l’instruction globale OPTIONS, je choisi ici d’enlever toute valeur au niveau du template (undefine margin). Ensuite ce template TEST_PAPERSIZE est appelé dans l’instruction ODS RTF.
proc template;
Define Style style.test_papersize;
parent=styles.rtf;
style Body from Body /
leftmargin=_undef_
right margin=_undef_
topmargin=_undef_
bottommargin=_undef_;
End;
run;
De la taille du papier, il faut enlever les marges. Ici, nous voulons un papier avec une largeur de 21cm et une hauteur de 27,94cm. Les marges étant de 2 centimètres de chaque côté, on enlève 4 cm à la hauteur et 4 cm à la largeur définie par l’option PAPERSIZE.
Les paramètres de l’option PAPERSIZE :
- Le 1er paramètre : la largeur
- Le 2ème paramètre : la hauteur
options papersize=(’17cm’,‘23.94cm’) leftmargin=2cm rightmargin=2cm topmargin=2cm bottommargin=2cm;
ods listing close;
ods rtf file=‘C:/sasref/margin_example.rtf’ style=test_papersize;
proc print data=sashelp.class;
run;
ods rtf close;
ods listing;
Note : j’ai obtenu le résultat escompté avec Word 2003 mais pas avec Word 2007. Vous pouvez apporter un commentaire avec votre expérience sur le sujet.