Paper 041-2013 
A First Look at the ODS Destination for PowerPoint 
Tim Hunter, SAS Institute Inc., Cary, NC 
ABSTRACT 
This paper introduces the ODS destination for PowerPoint, one of the next generation of ODS destinations. Using our 
new PowerPoint destination you can send proc output directly into native PowerPoint format. See examples of slides 
created by ODS. Learn how to create presentations using ODS, how to use ODS style templates to customize the 
look of your presentations and how to use pre-defined layouts to make title slides and two-column slides. Find out 
how the PowerPoint destination is like other ODS destinations and how it’s different. 
Stop cutting and pasting and let 
the ODS destination for PowerPoint do the work for you! 
INTRODUCTION 
Starting with Office 2007, Microsoft abandoned the binary formats used by older versions of Office and replaced them 
with a new set of document formats collectively named Office Open XML. Microsoft supplies complete documentation 
for these formats, making it possible for 3
rd
-party developers to create Office documents without needing to reverse-
engineer their format. The Office Open XML format for Word is called WordprocessingML, for Excel is called 
SpreadsheetML, and for PowerPoint is called PresentationML. The ODS destination for PowerPoint is the ODS way 
to put SAS procedure output into the PresentationML format used by PowerPoint 2010. This paper shows slides that 
contain tables, graphs, lists, and text blocks, arranged individually and in pairs. The example slides use both ODS 
predefined style templates and custom style templates that you can create. This paper describes some of the ways 
that you can customize style templates to enhance the presentation of your data. You will learn how the destination 
for PowerPoint is like other ODS destinations, how it is different, and what to watch out for when creating 
presentations. 
ODS has a long history of support for third-party formats, including PDF, RTF, HTML, and Excel. In SAS 9.4 ODS 
adds EPUB and HTML5 destinations and the destination for PowerPoint. Like all ODS destinations, the destination 
for PowerPoint uses table templates and style templates to display the tables, graphs, and other output produced by 
SAS procedures. Using the destination for PowerPoint in a SAS program just like using any other ODS destination. 
Simply specify the POWERPOINT keyword in the ODS statement and use the FILE= option to name the presentation 
file. 
ODS POWERPOINT FILE=”example.pptx”; 
<SAS code> 
ODS POWERPOINT CLOSE; 
Beyond the Basics
SAS Global Forum 2013
13
3
Extract pages from pdf acrobat - copy, paste, cut PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Easy to Use C# Code to Extract PDF Pages, Copy Pages from One PDF File and Paste into Others
deleting pages from pdf document; extract pages from pdf file
Extract pages from pdf acrobat - VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Detailed VB.NET Guide for Extracting Pages from Microsoft PDF Doc
cut pages from pdf preview; delete page from pdf acrobat
BASIC PRESENTATIONS 
Figure 1 shows a typical slide with a statistical table.  
Figure 1. Simple Tabular Output 
As you can see in Figure 1, the PowerPoint presentations created by ODS have a lot in common with other paged 
ODS destinations such as PDF and RTF. By default, the destination for PowerPoint creates a slide for each table or 
graph. As you would expect, the title or titles appear at the top and the footnotes at the bottom. The date appears at 
the bottom left and the slide number on the bottom right
The DATE and NUMBER system options control the presence of the date and slide number on the slide. If the DATE 
system option is in effect, the destination for PowerPoint adds a date and time field to the slide. If the NUMBER 
option is in effect, the destination for PowerPoint adds a slide number field. The position of these two fields is different 
from their position in other ODS destinations. In PDF, for example, the date and time and the page number typically 
appear at the top of every page surrounding the title. However, in keeping with standard PowerPoint slide layouts 
these fields appear at the bottom along with
the footnotes. The values of the date and time and slide number fields are dynamic. This means that every time you 
open the presentation PowerPoint updates the date and time to the current date and time. PowerPoint also formats 
the date and time field based on the current selection in its Header and Footer dialog box. If you insert new slides or 
rearrange the slides in your presentation, PowerPoint updates the slide numbers. 
The destination for PowerPoint borrows the SASDATE option from the RTF destination. If you use this option in the 
ODS POWERPOINT statement, the date and time is static instead of dynamic. That is, it is the date and time that 
your SAS program started and cannot be updated by PowerPoint. The format of the date and time is the same as the 
format used in the SAS log. 
Beyond the Basics
SAS Global Forum 2013
13
3
.NET PDF Document Viewing, Annotation, Conversion & Processing
Extract hyperlink inside PDF. PDF Write. Redact text content, images, whole pages from PDF file. Edit, update, delete PDF annotations from PDF file. Print.
export one page of pdf preview; combine pages of pdf documents into one
C# PDF Converter Library SDK to convert PDF to other file formats
manipulate & convert standard PDF documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat.
export pages from pdf preview; extract page from pdf preview
Figure 2 shows what a slide looks like when the NODATE and NONUMBER options are in effect. 
Figure 2. Using the NODATE and NONUMBER Options 
One big difference between PowerPoint slides created by ODS and other ODS output like PDF and RTF is the size of 
the fonts. In PowerPoint slides the first title is 42 points. Most of the other text on the slide is 20 points. This means 
that tables can have relatively few rows and columns compared to PDF and RTF output. Tables are typically limited 
to at most 5 to 7 rows and 4, 5, or 6 columns. If the table is too big to fit on a single slide, the destination for 
PowerPoint automatically breaks it up into multiple panels so that each panel fits on a slide. 
The PAPERSIZE system option determines the dimensions of the slides in your presentation. The default dimensions 
are 10 inches by 7.5 inches (240 mm by 190.5 mm). This size is appropriate for a 4:3 aspect ratio. To use a 16:9 
aspect ratio, specify 10 inches by 5.63 inches (240 mm by 143 mm). 
options papersize(10in 5.63in); 
Figure 3 shows a slide with an aspect ratio of 16:9. 
Figure 3. Using a 16:9 Aspect Ratio 
The ORIENTATION system option determines the slide orientation. The default is landscape, the most common 
presentation orientation. To create a presentation with slides taller than they are wide, specify portrait.  
options orientation=portrait; 
When the destination for PowerPoint creates a slide it first positions the titles, footnotes, date and time, and page 
number on the slide. The space that remains is used for procedure output. In addition to tables and graphs, 
procedure output includes the procedure title, table notes, and text produced by the ODS TEXT= option. By default 
Beyond the Basics
SAS Global Forum 2013
13
3
C# powerpoint - PowerPoint Conversion & Rendering in C#.NET
documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. PowerPoint to PDF Conversion.
copy pages from pdf into new pdf; copy pages from pdf to word
C# Word - Word Conversion in C#.NET
Word documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. Word to PDF Conversion.
copy one page of pdf; cut pages out of pdf online
graphs are sized to fit the amount of space available after everything else has been added to the slide. Figure 4 
shows how a typical graph looks on a slide. 
Figure 4. Simple Graphical Output I 
SAS user interface designers chose the colors used in graphs especially for PowerPoint presentations. Of course you 
can choose your own colors as well. Figure 5 shows a pie chart created by PROC SGRENDER using a custom 
template. 
Figure 5. Simple Graphical Output II 
No presentation would be complete without bulleted lists and text boxes. You can use the new ODSTEXT and 
ODSLIST procedures to make these slides. The destination for PowerPoint tries to put the entire list or all the text 
boxes on one slide. If the list or text is too big to fit some of the list items or text boxes overflow onto the next slide. 
Figure 6 shows examples of bulleted lists and text boxes.  
Beyond the Basics
SAS Global Forum 2013
13
3
C# Windows Viewer - Image and Document Conversion & Rendering in
standard image and document in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. Convert to PDF.
extract page from pdf online; delete pages from pdf
VB.NET PDF: How to Create Watermark on PDF Document within
Watermark Creator, users need no external application plugin, like Adobe Acrobat. VB example code to create graphics watermark on multiple PDF pages within the
cut pages from pdf reader; export pages from pdf reader
Figure 6. Bulleted Lists and Text Boxes 
SUMMARY 
By default, the destination for PowerPoint creates a slide for each table, graph, list, or text block. The output is 
centered horizontally. Every slide has the current titles and footnotes. If the DATE option is in effect, the date and 
time appear on the bottom left of every slide in the format specified by your current PowerPoint setting. PowerPoint 
updates the date and time every time your edit your presentation. If the NUMBER option is in effect, the slide number 
appears on the bottom right of every slide. If you rearrange your slides, PowerPoint updates the slide numbers. The 
PAPERSIZE option determines the slide dimensions. By default slides are 10 inches (240mm) wide and 7.5 inches 
(190.5mm) tall. The ORIENTATION option determines the slide orientation. By default slides use the landscape 
orientation. The titles, footnotes, date and time, and page number are added to the slide first. The remaining space is 
available for your output. If a table, list, or text block is too big to fit on a single slide the destination for PowerPoint 
divides it into pieces that fit on multiple slides. Graphs without a fixed size are shrunk to fit. 
POWERPOINT STYLE TEMPLATES 
Unlike other ODS destinations, such as HTML and PDF, which can use almost any of the predefined style templates, 
the destination for PowerPoint can use only a style template designed for presentations. There are two pre-defined 
presentation style templates in SAS 9.4. The style template used for all the examples so far, with a white background 
and black text, is called PowerPointLight. The PowerPointDark style template is the same but has a black 
background and white text. PowerPointDark uses the same fonts and font sizes as PowerPointLight. Figures 7 and 8 
show slides that use the PowerPointDark style template.  
Figure 7. A Table in the PowerPointDark Style Template 
Beyond the Basics
SAS Global Forum 2013
13
3
C# Excel - Excel Conversion & Rendering in C#.NET
Excel documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. Excel to PDF Conversion.
cut pages out of pdf file; extract pages from pdf without acrobat
VB.NET PowerPoint: VB Code to Draw and Create Annotation on PPT
as a kind of compensation for limitations (other documents are compatible, including PDF, TIFF, MS on slide with no more plug-ins needed like Acrobat or Adobe
convert few pages of pdf to word; delete pages of pdf preview
The graph colors are the same in both PowerPointLight and PowerPointDark. The colors are selected to look good on 
both black and white backgrounds. 
Figure 8. A Graph in the PowerPointDark Style Template 
Both the PowerPointLight and PowerPointDark style templates define two fonts, the heading font and the body font
These two fonts differ in size only. The heading font is used for titles and footnotes. The first title is 42 points, the 
second title is 24 points, and titles 3 through 10 are 20 points. All footnotes are 9 points. The body font, used for 
PROC titles, table notes, BY lines, headers, cell data, and paragraph text, is 20 points. List items are rendered in the 
body font at 32 points. For a typeface, the style templates choose a sans-serif font from the set of fonts you have 
installed. On Windows the templates prefer Calibri if 
it’s 
available. Calibri is the default typeface for Microsoft Office 
2007 and 2010. On other hosts or If Calibri is not available the style templates fall back to the sans-serif font specified 
in the SAS registry, typically Arial or a font supplied by SAS, such as Albany AMT. 
Each style template defines twelve colors. The first four are paired light and dark colors, white and black, and light 
gray and dark gray. These four colors are the same in both templates. Each style template defines its own pair of 
colors for hyperlinks, one for hyperlinks that have not been clicked and the other for hyperlinks that have been 
clicked. The last six colors are accent colors. The accent colors are the same as the first six GraphData colors used 
in graphs. Normally the accent colors only appear in graphs but if you edit your presentation by hand you will find that 
PowerPoint lists them in dialog boxes as part of the theme colors. 
When you use PowerPoint to create a presentation, one of the first things you do is choose a theme. PowerPoint 
comes with several dozen built-in themes, or you can use your own theme. The theme becomes part of the 
presentation along with the slide content. However, when you create a presentation using the destination for 
PowerPoint, the theme is created from the style template. When you use the PowerPointLight style template, the 
theme is named ODS Light. When you use the PowerPointDark style template, the theme is named ODS Dark. You 
can create your own presentation style template by creating a new presentation template that uses one 
PowerPointLight or PowerPointDark as its parent template. The Advanced Styling section below has more 
information about custom presentation style templates. 
PRE-DEFINED LAYOUTS 
You can create slides that contain more than one table, graph, list, or text block using ODS LAYOUT statements to 
create a gridded layout. Also, the destination for PowerPoint supports predefined layouts for common slide layouts. 
There are three predefined layouts: TitleSlide, TitleAndContent, and TwoContent. To use a predefined layout, specify 
its name on the LAYOUT= option in the ODS POWERPOINT statement, like this: 
ods powerpoint file=”example.pptx” layout=<name>; 
Each time you use an ODS POWERPOINT statement with a LAYOUT= option, the destination for PowerPoint 
finishes the current slide and starts a new slide. You can also stop using the current layout by specifying _NULL_ as 
the layout name, like this: 
ods powerpoint layout=_null_; 
The TitleSlide layout is used to create a title slide for your presentation. Figure 9 shows what a title slide looks like in 
both the PowerPointLight and PowerPointDark style templates. 
Beyond the Basics
SAS Global Forum 2013
13
3
DICOM to PDF Converter | Convert DICOM to PDF, Convert PDF to
users do not need to load Adobe Acrobat or any Start DICOM - PDF image conversion through drag &drop method; Convert all pages or certain pages chosen by users;
delete pages out of a pdf file; acrobat extract pages from pdf
BMP to PDF Converter | Convert Bitmap to PDF, Convert PDF to BMP
for Adobe Acrobat Reader & print driver during conversion; Support conversion of Bitmap - PDF files in both single & batch mode; Convert all pages or certain
delete pages from pdf acrobat; cut pdf pages
Figure 9. The TitleSlide Layout 
Here is the SAS code used to create the slides in Figure 9. 
/* Uncomment the style= option to use the PowerPointDark style template */ 
ods powerpoint file="titleslide.pptx" layout=titleslide; *style=powerpointdark; 
proc odstext; 
p "The ODS Destination for PowerPoint" / style=PresentationTitle; 
p "SAS Global Forum 2013" / style=PresentationTitle2; 
run; 
TitleSlide is a very specialized layout and must be used exactly as shown in the example. Titles created by a TITLE 
statement are ignored in this layout. Instead, the title and subtitle are created by the two P statements in PROC 
ODSTEXT. (If you want only one title omit the second P statement.) The styling for the title and subtitle are supplied 
by the special style elements PresentationTitle and PresentationTitle2. These style elements are defined for both 
PowerPointLight and PowerPointDark especially for this layout. You can add one footnote to the title slide using a 
FOOTNOTE statement. The date and time and a slide number will be added to the slide if the DATE and NUMBER 
options are in effect. After creating the title slide, start a new slide by specifying another ODS POWERPOINT 
statement with a different LAYOUT= option. 
The slides produced using the TitleAndContent layout are similar to slides produced without any predefined layout. 
The difference between the TitleAndContent layout and no layout at all is that the layout arranges more than one 
table, graph, list, or text block on a slide if there is room. The output on each slide is centered horizontally. When you 
use the TitleAndContent layout, you can add at most one title and at most one footnote to the slide. The date and 
time and a slide number are present if the DATE and NUMBER options are in effect.  
Beyond the Basics
SAS Global Forum 2013
13
3
Here is an example of using the TitleAndContent layout to put two graphs on a slide. 
Figure 10. The TitleAndContent Layout 
To create two-column slides use the TwoContent layout. When you use the TwoContent layout, the first table, graph, 
list, or text block occupies the left-hand column and the second occupies the right-hand column. You can add at most 
one title and one footnote to the slide The date and time and a slide number are present if the DATE and NUMBER 
options are in effect.  
Here are two examples of the TwoContent layout. 
Figure 11. The TwoContent Layout 
ADVANCED STYLING 
You can easily change the colors and fonts your presentation uses by creating a custom style template. As you read 
earlier, the PowerPointLight and PowerPointDark style templates are the only two presentation templates shipped 
with SAS 9.4. However, you can also create your own style template based on one of those two templates. Like all 
ODS style templates, presentation style templates are created with PROC TEMPLATE. 
THE SCHEME STATEMENT 
The SCHEME statement is a new addition to PROC TEMPLATE for presentation style templates. The most important 
style attributes in PowerPointLight and PowerPointDark are defined by the SCHEME statement. These are 
Beyond the Basics
SAS Global Forum 2013
13
3
The heading font and body font 
Two pairs of light and dark colors 
Six accent colors 
A pair of hyperlink colors 
The SCHEME statement assigns logical names to specific fonts and colors. The other style elements in 
PowerPointLight and PowerPointDark refer to the fonts and colors by the logical names. Therefore, you can change 
these basic style attributes throughout the entire style template by assigning new values to the logical names in the 
SCHEME statement. For example, here is the SCHEME statement used in PowerPointLight. 
scheme 'ODS Light' /                                                     
light1 = cxffffff                                                     
dark1 = cx000000                                                      
light2 = cxd8d8d8                                                     
dark2 = cx646464                                                      
accent6 = cx5E6C10                                                    
accent5 = cx6590CD                                                    
accent4 = cxF8B93C                                                    
accent3 = cx9D2E14                                                    
accent2 = cx90B328                                                    
accent1 = cx3D5AAE                                                    
followed_hyperlink = cx7A40A6                                         
hyperlink = cx00709f                                                  
body_font = ("Calibri, <MTsans-serif>, <sans-serif>",20pt)            
heading_font = ("Calibri, <MTsans-serif>, <sans-serif>",42pt);        
Figure 12 shows the change made by replacing the header_font and body_font attributes in the SCHEME statement 
used in PowerPointDark. This slide uses Segoe UI Light instead of Calibri. Compare this slide with Figure 7. 
Figure 12. Modified Header and Body Font 
The change needed to use a different typeface is simple. Here is 
the PROC TEMPLATE code that creates the style 
used in Figure 12. The new template uses PowerPointDark as its parent template and changes just the heading_font 
and body_font in the SCHEME statement. 
proc template; 
define style styles.segoedark; 
parent=styles.powerpointdark; 
scheme "Segoe Dark" / 
heading_font = ("Segoe UI Light, <MTsans-serif>, <sans-serif>", 42pt) 
body_font = ("Segoe UI Light, <MTsans-serif>, <sans-serif>", 20pt) 
end; 
run; 
Beyond the Basics
SAS Global Forum 2013
13
3
10 
GRADIENT FILLS 
You can change the background of your slides by adding a gradient fill. Figure 13 uses a linear gradient fill for the 
slide background. 
Figure 13. Linear Gradient Background 
The destination for PowerPoint supports both linear and radial gradient fills. (For an example of a radial gradient fill, 
see Figure 14.) Although the examples in this section show how to use a gradient fill as the slide background, you 
can use a gradient fill wherever you can use a solid color fill, not just to the slide background.  
To add a gradient fill to the slide background, specify the gradient fill definition in the BACKGROUNDIMAGE attribute 
in the style element. In Figure 13, the gradient fill definition is specified in the BACKGROUNDIMAGE attribute of the 
Body style element. Gradient fills are defined using the CSS3 syntax for gradients. A linear gradient fill is defined by 
its starting position and a list of color-stops. Here is the style template used for Figure 13. In this example, the starting 
position is “top” and there are four color
-stops. 
proc template; 
define style styles.foggradient; 
parent=styles.powerpointlight; 
scheme "Gradient Background" / 
heading_font = ("Segoe UI Light, <MTsans-serif>, <sans-serif>", 42pt) 
body_font = ("Segoe UI Light, <MTsans-serif>, <sans-serif>", 20pt) 
class body / 
backgroundimage =  
"linear-gradient(top, #8488c4, #d4deff 53%, #d4deff 83%, #96a694)"; 
class headersandfooters / 
background = cxe0e9f5; 
class data, table, headersandfooters / 
bordercolor = dark2; 
end; 
run; 
Beyond the Basics
SAS Global Forum 2013
13
3
Documents you may be interested
Documents you may be interested