ODS

SAS ODS PDF: Wie man eine Trennlinie unter Titeln erstellt (über die gesamte Breite)

Simon 26/04/2017 4 Aufrufe

Beim Erstellen von SAS©-Berichten im PDF-Format ist es oft erwünscht, die Formatierung des Kopfbereichs zu verfeinern. Eine häufige ästhetische Anforderung ist das Einfügen einer horizontalen Linie, die den Titelbereich vom Hauptteil des Berichts trennt.

Jedoch gibt es oft Verwirrung zwischen der Unterstreichung von Text und der Erstellung eines Container-Rahmens. Wenn Sie jemals versucht haben, die Option underline in der TITLE-Anweisung zu verwenden, haben Sie wahrscheinlich bemerkt, dass sie nur den Text (die Zeichen) unterstreicht. Wenn Ihr Titel kurz ist, hört die Linie abrupt auf.

Die Frage lautet also: Wie erhält man eine Trennlinie, die sich über die gesamte Seitenbreite erstreckt, unabhängig von der Ausrichtung (Hoch- oder Querformat) und der Textlänge?

Der häufige Fehler: das falsche Stilelement

Um das allgemeine Erscheinungsbild von Berichten zu ändern, ist die Verwendung von PROC TEMPLATE die empfohlene Methode. Die Wahl des zu ändernden Stilelements ist jedoch entscheidend.

Viele Benutzer versuchen, das Element SysTitleandFooterContainer zu ändern, indem sie ihm Rahmenregeln zuweisen (frame=below, rules=rows). Obwohl dies logisch erscheint, führt dieser Ansatz oft nicht zu den erwarteten sichtbaren Rändern im PDF-Ziel.

Die Lösung: Zielen Sie auf TitlesAndFooters

Um einen Rahmen zu erhalten, der als Trennlinie unter dem gesamten Titelbereich fungiert, muss das Stilelement TitlesAndFooters geändert werden.

So gehen Sie vor, indem Sie einen benutzerdefinierten Stil erstellen, der von einem vorhandenen Stil erbt (wie styles.statistical oder 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;

Anwendung

Sobald die Vorlage kompiliert ist, rufen Sie sie einfach beim Öffnen Ihres ODS PDF-Ziels auf:

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;

Im Gegensatz zur Option underline, die ein Schriftattribut (font attribute) ist, gelten die in TitlesAndFooters definierten Eigenschaften für den Container (die Box), der Ihre Titel beherbergt. Durch die Definition eines unteren Rahmens (borderbottom) für diesen Container zeichnet SAS© eine Linie über die gesamte für den Seitenkopf zugewiesene Breite und schafft so eine saubere und professionelle Trennung, unabhängig von der Anzahl der Zeichen in Ihren Titeln.