Positionnement d'en-têtes, de pieds de page ou de leurs éléments incorporés

Dans cette section :

Comment :

Dans un rapport PDF, PS ou HTML, vous pouvez utiliser l'attribut POSITION dans une feuille de style pour spécifier la position de début d'un en-tête ou d'un pied de page, exprimée comme une unité de mesure. Pour HTML, cette capacité exige une feuille de style en cascade interne. Pour plus de détails sur la méthode d'alignement, consultez Choix d'une méthode d'alignement pour les éléments d'en-tête ou pied de page.

En outre, pour un rapport PDF ou PS, vous pouvez utiliser l'attribut POSITION pour spécifier la position de début absolue ou relative d'un élément au sein d'un en-tête ou d'un pied de page ou aligner un élément d'en-tête ou de pied de page avec une colonne de rapport. Une position de début absolue est la distance de la marge gauche du rapport. Une position de début relative est la distance de l'objet précédent. La position de début du premier élément sur une ligne d'en-tête est la marge gauche du rapport.

Dans un rapport HTML, vous pouvez utiliser la syntaxe associée et une feuille de style en cascade interne pour positionner une image dans un en-tête ou un pied de page. Pour plus de détails sur les images, consultez Mise en page de la page de rapport.


Haut de page

x
Syntaxe : Définir une position de début pour un en-tête ou un pied de page

Utilisez la syntaxe suivante pour spécifier une position de début pour un en-tête ou un pied de page par rapport à la marge gauche d'un rapport.

TYPE = headfoot, POSITION = position, $

où :

headfoot
Indique le type d'en-tête ou de pied de page. Les valeurs valables sont TABHEADING, TABFOOTING, HEADING, FOOTING, SUBHEAD et SUBFOOT
position
est la distance voulue de la marge gauche, exprimée par l'attribut UNITS (le paramètre par défaut est INCHES).

Remarque : dans un rapport HTML, cette syntaxe doit être utilisée conjointement avec une feuille de style en cascade interne. Pour voir une illustration, consultez Définition d'une position de début pour un en-tête de rapport dans HTML.



Exemple : Définition d'une position de début pour un en-tête de rapport dans PDF

Cette requête positionne l'en-tête de rapport à 1,25 pouces (3,17 centimètres) de la marge gauche.

SET ONLINE-FMT=PDF
TABLE FILE GGSALES
PRINT BUDDOLLARS DOLLARS
BY STCD
WHERE BUDDOLLARS GE 25000
WHERE STCD EQ 'R1019'
ON TABLE SUBHEAD
"Sales Report"
" "
ON TABLE SET PAGE-NUM OFF
ON TABLE SET SQUEEZE ON
ON TABLE SET STYLESHEET * 
TYPE = TABHEADING, POSITION = 1.25, $ 
ENDSTYLE
END

La sortie est :



Exemple : Définition d'une position de début pour un en-tête de rapport dans HTML

Cette requête génère une feuille de style en cascade interne comme partie de son code HTML, ce qui permet l'utilisation de l'attribut POSITION pour spécifier une position de début pour l'en-tête Sales Report, à 1,5 pouces (3,8 centimètres) de la marge gauche.

SET ONLINE-FMT = HTML
TABLE FILE GGSALES
PRINT BUDDOLLARS DOLLARS
BY STCD
WHERE BUDDOLLARS GE 25000
WHERE STCD EQ 'R1019'
ON TABLE SUBHEAD
"Sales Report"
" "
ON TABLE SET PAGE-NUM OFF 
ON TABLE SET HTMLCSS ON 
ON TABLE SET STYLESHEET *
TYPE=REPORT, GRID=OFF, $ 
TYPE = TABHEADING, POSITION = 1.5, $ 
ENDSTYLE
END

La sortie est :


Haut de page

x
Syntaxe : Définir une position de début pour un élément d'en-tête ou pied de page

Pour un rapport PDF ou PS, utilisez la syntaxe suivante pour spécifier la position de début pour l'élément d'en-tête ou de pied de page par rapport à l'élément précédent.

TYPE = headfoot, [subtype,] POSITION = {+|-}option, $

où :

headfoot
Indique le type d'en-tête ou de pied de page. Les valeurs valables sont TABHEADING, TABFOOTING, HEADING, FOOTING, SUBHEAD et SUBFOOT
subtype
Sont des attributs supplémentaires qui identifient le composant de rapport. Ces options peuvent être utilisées individuellement ou conjointement, selon le degré de spécificité nécessaire pour identifier un élément. Voici les valeurs valables :

LINE, qui identifie une ligne selon sa position dans un en-tête ou pied de page. L'identification des lignes individuelles vous permet de formater chaque ligne différement.

Si un en-tête ou un pied de page contient des lignes multiples et que vous appliquez une déclaration de feuille de style qui ne spécifie pas LINE, la déclaration s'applique à toutes les lignes. Les lignes vierges sont comptées en interprétant la valeur de LINE.

ITEM, qui identifie un élément en fonction de sa position sur une ligne. Pour diviser une ligne d'en-tête ou de pied de page en éléments, vous pouvez utiliser le signe de localisation <+0>. Consultez Désignation de composants de rapport dans la syntaxe de feuille de style WebFOCUS.

Pour déterminer le numéro d'élément (ITEM_#) pour un objet (OBJECT), suivez ces directives :

  • En utilisant OBJECT=TEXT, comptez uniquement les chaînes de texte de gauche à droite.
  • En utilisant OBJECT=FIELD, comptez uniquement les valeurs de gauche à droite.
  • En ne pas utilisant OBJECT, comptez les chaînes de texte et les valeurs de champ de gauche à droite.

Si vous appliquez une déclaration de feuille de style précisant ITEM, le nombre est compté du début de chaque ligne de l'en-tête ou du pied de page et pas seulement du début de la première ligne.

OBJECT, qui identifie en élément dans un en-tête ou pied de page en tant que chaîne de texte ou valeur de champ. Les valeurs valables sont TEXT et FIELD. TEXT peut représenter du texte libre ou une variable esperluette (&) du Gestionnaire de dialogue.

Il n'est pas nécessaire de spécifier OBJECT=TEXT à moins que vous stylisiez des chaînes de texte et des champs intégrés dans un même en-tête ou pied de page.

option
indique la méthode d'alignement. Voici les valeurs valables :

position, qui est la distance voulue, exprimée par l'attribut UNITS (l'unité de mesure par défaut est pouces) pour le positionnement absolu.

+ commence l'élément d'en-tête ou de pied de page à la distance spécifiée à droite de l'élément précédent. Pour le premier élément d'en-tête ou de pied de page, l'élément précédent sert de marge gauche.

- commence l'en-tête ou le pied de page à la distance spécifiée à gauche de l'élément précédent. Cela est utile si vous souhaitez superposer les images dans un en-tête.

column_title aligne l'en-tête ou le pied de page sur le premier caractère de la colonne spécifiée.



Exemple : Définition d'une position de début absolue pour un élément d'en-tête

Cette requête utilise le signe de localisation <+0> pour diviser l'en-tête de rapport en trois chaînes de texte. Elle commence la troisième chaîne de texte, 1st Qtr 2001, à 3 pouces (7,62 centimètres) de la marge gauche du rapport. Cette technique s'emploie pour les rapports PDF et PS.

SET ONLINE-FMT = PDF
TABLE FILE GGSALES
SUM UNITS DOLLARS BY CATEGORY BY PRODUCT
ON TABLE SUBHEAD 
"Sales Report - <+0>All Products<+0> 1st Qtr 2001" 
" "
ON TABLE SET PAGE-NUM OFF
ON TABLE SET SQUEEZE ON
ON TABLE SET STYLESHEET * 
TYPE = TABHEADING, OBJECT = TEXT, ITEM=1, SIZE = 12, STYLE = BOLD, $
TYPE = TABHEADING, OBJECT = TEXT, ITEM=2, STYLE = BOLD, $
TYPE = TABHEADING, OBJECT = TEXT, ITEM=3, POSITION = 3, $ 
ENDSTYLE
END

La sortie est :



Exemple : Définition d'une position de début relative pour un élément d'en-tête

Cette requête utilise le signe de localisation <+0> pour diviser l'en-tête de rapport en trois chaînes de texte. Elle commence la troisième chaîne de texte, 1st Qtr 2001, à un pouce à droit de l'élément précédent sur la ligne d'en-tête. L'unité de mesure par défaut est pouces. Cette technique s'emploie pour les rapports PDF et PS.

SET ONLINE-FMT = PDF
TABLE FILE GGSALES
SUM UNITS DOLLARS BY CATEGORY BY PRODUCT
ON TABLE SUBHEAD 
"Sales Report - <+0>All Products<+0> 1st Qtr 2001" 
" "
ON TABLE SET PAGE-NUM OFF
ON TABLE SET SQUEEZE ON
ON TABLE SET STYLESHEET * 
TYPE = TABHEADING, OBJECT = TEXT, ITEM=1, SIZE = 12, STYLE = BOLD, $
TYPE = TABHEADING, OBJECT = TEXT, ITEM=2, STYLE = BOLD, $
TYPE = TABHEADING, OBJECT = TEXT, ITEM=3, POSITION = +1, $ 
ENDSTYLE
END

La sortie est :



Exemple : Alignement d'un élément d'en-tête avec une colonne

Cette requête utilise le signe de localisation <+0> pour diviser l'en-tête de rapport en trois chaînes de texte. Elle commence la deuxième chaîne de texte à la position horizontale où se trouve la colonne UNITS (Unit Sales). Cette technique s'emploie pour les rapports PDF et PS.

SET ONLINE-FMT = PDF
TABLE FILE GGSALES
SUM UNITS DOLLARS BY CATEGORY BY PRODUCT
ON TABLE SUBHEAD 
"Sales Report - <+0>All Products<+0> 1st Qtr 2001" 
" "
ON TABLE SET PAGE-NUM OFF
ON TABLE SET SQUEEZE ON
ON TABLE SET STYLESHEET * 
TYPE = TABHEADING, LINE=1, ITEM=2, POSITION=UNITS, $ 
ENDSTYLE
END

La sortie est :

Conseil : dans cette requête, la colonne (UNITS) est identifiée nominativement. Cependant, il y a d'autres moyens d'identifier une colonne que vous souhaitez formater. Consultez Désignation de composants de rapport dans la syntaxe de feuille de style WebFOCUS.


Haut de page

x
Utilisation de PRINTPLUS

Comment :

PRINTPLUS comprend des mises en valeur pour afficher des alternatives offertes par WebFOCUS. Par exemple, vous pouvez placer un pied de page (FOOTING) après un pied de page secondaire (SUBFOOT) dans votre rapport. PRINTPLUS fournit de la flexibilité pour produire le rapport exact que vous désirez.

Le paramètre PRINTPLUS doit être activé (ON) pour utiliser les capacités TABLE suivantes :

Remarque : PRINTPLUS n'est pas supportée pour les feuilles de style. Si vous essayez de l'employer de cette manière, un message d'erreur est généré.



x
Syntaxe : Utiliser PRINTPLUS

Lancez la commande

SET PRINTPLUS = {ON|OFF}


Exemple : Utilisation de PRINTPLUS avec SUBFOOT et FOOTING

Lorsque PRINTPLUS est activée, le pied de page secondaire (SUBFOOT) s'affiche le premier, suivi du pied de page (FOOTING).

SET PRINTPLUS = ON
 TABLE FILE CAR
  PRINT CAR MODEL
  BY SEATS BY COUNTRY
  IF COUNTRY EQ ENGLAND OR FRANCE OR ITALY
  ON TABLE SUBFOOT
  " "
  " SUMMARY OF CARS IN COUNTRY BY SEATING CAPACITY"
  FOOTING
  " RELPMEK CAR SURVEY "
ON TABLE SET STYLE *
TYPE=REPORT,GRID=OFF,$
 END

La sortie est :

SEATS
COUNTRY
CAR
MODEL
-----
-------
-----
    2
ENGLAND
TRIUMPH
TR7
ITALY
ALFA ROMEO
2000 GT VELOCE
ALFA ROMEO
2000 SPIDER VELOCE
MASERATI
DORA 2 DOOR
    4
ENGLAND
JAGUAR
V12XKE AUTO
JENSEN
INTERCEPTOR III
ITALY
ALFA ROMEO
2000 4 DOOR BERLINA
    5
ENGLAND
JAGUAR
XJ12L AUTO
FRANCE
PEUGEOT
504 4 DOOR
 
 
 
 
 SUMMARY OF CARS IN COUNTRY BY SEATING CAPACITY
 RELPMEK CAR SURVEY


x
Utilisation des signes de localisation pour affiner le positionnement

Vous pouvez employer plusieurs types de signes de localisation pour affiner le positionnement d'en-têtes et de pieds de page, ainsi que des éléments qui composent ceux-ci, dans les rapports HTML et PDF utilisant les polices proportionnelles. Pour une maîtrise maximale, vous pouvez combiner des signes de localisation avec d'autres techniques d'alignement. Consultez Choix d'une méthode d'alignement pour les éléments d'en-tête ou pied de page.

Les signes de localisation suivants vous permettent de positionner des éléments et d'identifier des éléments à formater :

Remarque : lorsqu'une balise de fin est suivie immédiatement par une balise de début (><), un élément de texte est placé entre les deux signes de localisation (> <). Veuillez prendre cela en considération lors du formatage.

Vous pouvez aussi utiliser les signes de localisation pour positionner des éléments d'en-tête et de pied de page à des emplacements de colonne fixes et relatifs. Plusieurs signes de localisation contrôlent le positionnement basé sur la largeur pré-définie d'un caractère dans une police à espacement constant. Cela est une technique de formatage qui n'est pas prise en charge par les polices proportionnelles.



Exemple : Positionnement d'un caractère juste après un champ dans un rapport HTML

Cette requête génère un rapport HTML dans lequel la parenthèse de clôture et le point dans l'en-tête de tri s'affichent juste après les champs STORE_CODE et STATE, respectivement. Ce comportement est contrôlé par le signe de localisation <-1, qui indique une position de début relative de l'objet précédent. En l'absence de signes de localisation indiquant que les caractères de ponctuation doivent suivre les objets précédents, un espace supplémentaire s'affiche dans chacune de ces positions.

SET ONLINE-FMT = HTML
SET PAGE-NUM = OFF
JOIN STORE_CODE IN CENTCOMP TO STORE_CODE IN CENTORD
TABLE FILE CENTCOMP
HEADING
"Century Corporation Orders Report </1"
PRINT PROD_NUM QUANTITY LINEPRICE
BY STORE_CODE NOPRINT
BY ORDER_NUM
ON STORE_CODE SUBHEAD 
"Century Corporation orders for store <STORENAME <0X
(store # <STORE_CODE<-1 ) in <STATE|.</1" 
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $
ENDSTYLE
END

La sortie partielle est :



Exemple : Positionnement d'un caractère juste après un champ dans un rapport PDF ou PS

Dans un rapport PDF, un champ incorporé dans un en-tête ou un pied de page doit être suivi d'un espace dans la requête afin d'être reconnu pour le traitement. Cependant, il se peut que l'espace ne soit pas voulu dans la sortie. Cet exemple présente deux techniques pour positionner des caractères de ponctuation juste après un champ dans un rapport PDF ou PS.

La première technique utilise l'attribut POSITION dans une feuille de style pour positionner le parenthèse de clôture juste après la valeur STORE_CODE. La deuxième technique utilise le signe de localisation <-1 pour positionner le point juste après la valeur STATE. La dimension de POSITION est basée sur la spécification d'unité, POINTS. Des expériences ont démontré que la valeur de -7 points entraîne le déplacement de la parenthèses de clôture au bon emplacement après le champ, en utilisant la police et la taille par défaut proportionnelles.

SET ONLINE-FMT = PDF
SET PAGE-NUM = OFF
JOIN STORE_CODE IN CENTCOMP TO STORE_CODE IN CENTORD
 
TABLE FILE CENTCOMP
HEADING
"Century Corporation Orders Report"
PRINT PROD_NUM QUANTITY LINEPRICE
BY STORE_CODE NOPRINT
BY ORDER_NUM
ON STORE_CODE SUBHEAD
"Century Corporation orders for store <STORENAME (store # <STORE_CODE ) 
in <0X <STATE <-1 . </1"
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, UNITS=POINTS, $ 
TYPE=SUBHEAD, OBJECT=TEXT, ITEM=3, POSITION= -7, $
ENDSTYLE
END

La sortie est :

Sans le signe de localisation et la dimension de position, voici à quoi ressemble la sortie :



Exemple : Personnalisation de dimensions de position pour les attributs de police

Cette requête utilise la police Helvetica 12 points. Des expériences ont démontré que la valeur de -2 entraîne le déplacement du texte dans cette police et taille au bon emplacement.

SET ONLINE-FMT = PDF
SET PAGE-NUM = OFF
JOIN STORE_CODE IN CENTCOMP TO STORE_CODE IN CENTORD
 
TABLE FILE CENTCOMP
HEADING
"CENTURY CORPORATION ORDERS REPORT"
PRINT PROD_NUM QUANTITY LINEPRICE
BY STORE_CODE NOPRINT WHERE STORE_CODE EQ '1003NY' OR '1003CT' OR
    '1003NJ'
BY ORDER_NUM
ON STORE_CODE SUBHEAD
"CENTURY CORPORATION ORDERS FOR STORE <STORENAME (store # <STORE_CODE)<0X
 IN <STATE <-1 . </1"
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, UNITS=POINTS, FONT='Helvetica', SIZE=12, $ 
TYPE=SUBHEAD, OBJECT=TEXT, ITEM=3, POSITION= -2, $ 
ENDSTYLE
END

Conseil : vous ne pouvez pas employer l'attribut POSITION pour positionner un élément d'en-tête dans un rapport HTML. Cependant, vous pouvez obtenir le même résultat en positionnant les signes de localisation horizontaux <-1 juste après les champs STORE_CODE et STATE. Il ne faut pas ajouter d'espaces entre le champ et le caractère qui le suit.

La sortie est :


WebFOCUS