ODS

SAS ODS PDF: Cómo crear una línea de separación debajo de los títulos (a todo lo ancho)

Simon 26/04/2017 3 vues

Al generar informes SAS© en formato PDF, es común querer cuidar el formato del encabezado. Una solicitud estética común es insertar una línea horizontal que separe el área de los títulos del cuerpo del informe.

Sin embargo, a menudo existe confusión entre subrayar el texto y crear un borde de contenedor. Si alguna vez ha intentado usar la opción underline en la instrucción TITLE, probablemente haya notado que solo subraya el texto (los caracteres). Si su título es corto, la línea se detiene abruptamente.

La pregunta es: ¿cómo obtener una línea de separación que se extienda por todo el ancho de la página, independientemente de la orientación (Vertical u Horizontal) y la longitud del texto?

El error frecuente: el elemento de estilo incorrecto

Para modificar la apariencia general de los informes, se recomienda el uso de PROC TEMPLATE. Sin embargo, la elección del elemento de estilo a modificar es crucial.

Muchos usuarios intentan modificar el elemento SysTitleandFooterContainer aplicándole reglas de borde (frame=below, rules=rows). Aunque esto parece lógico, este enfoque a menudo no produce los bordes visibles esperados en el destino PDF.

La solución: Apuntar a TitlesAndFooters

Para obtener un borde que actúe como una línea de separación debajo de toda el área del título, se debe modificar el elemento de estilo TitlesAndFooters.

A continuación, se muestra cómo proceder creando un estilo personalizado que herede de un estilo existente (como styles.statistical o styles.pearl):

Illustration
1PROC TEMPLATE;
2 define style styles.MonStylePDF;
3 parent=styles.statistical; /* ou le style de votre choix */
4
5 /* Modification de l'élément conteneur des titres et pieds de page */
6 style TitlesAndFooters from TitlesAndFooters /
7 borderbottomcolor = black
8 borderbottomwidth = 1pt
9 borderbottomstyle = solid;
10 END;
11RUN;

Implementación

Una vez que la plantilla está compilada, simplemente llámela en la apertura de su destino ODS PDF:

1ods pdf file="C:\temp\mon_rapport.pdf" style=styles.MonStylePDF;
2 
3title1 "Rapport Mensuel";
4title2 "Données confidentielles";
5 
6PROC PRINT DATA=sashelp.class;
7RUN;
8 
9ods pdf close;

A diferencia de la opción underline que es un atributo de fuente (font attribute), las propiedades definidas en TitlesAndFooters se aplican al contenedor (la caja) que aloja sus títulos. Al definir un borde inferior (borderbottom) en este contenedor, SAS© dibuja una línea en todo el ancho asignado al encabezado de la página, creando así una separación nítida y profesional, independientemente del número de caracteres en sus títulos.