Presented by Elizabeth Dennis of EMB Statistical Solutions, LLC and her daughter Maddy Dennis at PharmaSUG 2015.
Submitting output to the FDA in PDF format has become more common recently. Unfortunately, when RTF files are electronically converted to PDF, unwanted format changes can occur, such as border lines no longer being visible. Creating the table using ODS to PDF directly is a better technique. However, PROC REPORT statements written to create RTF tables produce different results when creating a PDF file. Using SAS 9.4®, we discuss the ODS to PDF statement along with the PROC REPORT statements which will create a perfectly formatted table that conforms to the FDA Portable Document Format Specifications.
Creating the Perfect Table Using ODS to PDF in SAS 9.4®
1. Elizabeth Dennis, EMB Statistical Solutions
Maddy Dennis, Pharmapace
PharmaSUG 2015
Paper #QT07
2. Converting RTF output to PDF output results in
unwanted format changes
Using Proc Report code developed for ODS to
RTF on ODS to PDF results in unwanted format
changes
Best results come from ODS to PDF
2
4. The paper contains a Proc Template example
which meets the FDA requirements for version of
Adobe, fonts, margins, etc.
The paper contains an ODS to PDF statement
which meets the FDA requirements for page
orientation, bookmarks, navigation tab, etc.
4
6. Unicode symbols work as expected
A helpful table of all possible unicode symbols can
be found on wikipedia
title5 j=c "Subjects ~{unicode 2265}50
Years of Age";
6
7. The bottom border of the cell must be drawn to
underline the spanning text
Column ("~S={borderbottomcolor=black
borderbottomwidth=.5} Cycle 1
Treatment" col1-col3);
7
8. Printing a line as the first footnote which spans the
entire table layout
footnote "~{style [outputwidth=100%
bordertopcolor=black
Bordertopwidth=.1pt]}";
8
9. Some exist as unicodes, so that is an option
~{super} and ~{sub} work, but the result is abnormally
small
The best results come from offsetting the text, slightly
above or below the line
col1='Age~-12y~{style[font_size=7pt]a}';
col1='t~7y~{style[font_size=7pt]max}';
9
10. If a categorical cell has a count of zero,
then zero should print with no percentage
The zero should align with other counts
When both categorical and continuous data are on
one table, decimals should still be aligned
These can all be achieved using 2 columns, one
for counts or descriptive statistics, and one for
percentages
The template uses (cellpadding=0) so the 2
columns appear as one continuous column
10
13. Name: Elizabeth Dennis
Organization: EMB Statistical Solutions LLC
City, State: Overland Park, KS
E-mail: edennis@embstats.com
Name: Maddy Dennis
Organization: Pharmapace
City, State: San Diego, CA
E-mail: madison.dennis@pharmapace.com
13
Editor's Notes
More often, clients have requested PDF output.
Most programmers have mastered the ODS to RTF code, but different techniques are necessary to produce the identical table format in PDF.
When converting RTF output to PDF, the most common issue is that underlines that are no longer visible.
One issue with using Proc Report code developed for RTF on PDF output is that not all ODS escape characters work with the page x of y statement.
Clearer code when inserting multiple spaces or rows. It also has the advantage of being more human-readable.