Creating PDF documents including hyper-links, bookmarks and a table of contents with the SAS software. Lex Jansen NV Organon Oss, The Netherlands abcd Contents • • • • • • • • • Data flow Why PDF ? Types of appendices From SAS to Postscript to PDF SAS output conventions Postscript PDF mark operator %_SAS2PS Demo abcd The Data Flow Investigator Data Entry (ClinTrial) Electronic Submission SAS Clinical Data Warehouse Document Management System (Documentum) abcd The Data Flow SAS SAS Clinical Data Warehouse PDF Electronic Submission Document Management System (Documentum) abcd Why the PDF Format ? • • • • Independent of environment Easy navigation (hyperlinks, bookmarks) Easy distribution (free acrobat reader) The FDA wants it abcd Types of Appendices • Statistical analyses (STAT) (different sections with: tables, analyses, graphics, listings) • Individual data listings (IDL) • Case report form tabulations (CRF) abcd Statistical Analysis abcd Individual Data Listing abcd Case Report Form Tabulation abcd Environment • Windows NT, SP 4 • Sas 6.12, TS045, only SAS/base • Acrobat distiller 3.02 / 4.05 abcd How Do We Get From SAS to PDF? • Install complete acrobat package and use the acrobat pdfwriter printerdriver But, no bookmarks and hyperlinks • SAS version 8 can generate PDF output for graphics output • The future might bring PDF output with the output delivery system (ODS) Bookmarks and hyperlinks ??? • Solution: create postscript with SAS and use acrobat distiller and the pdfmark operator!! abcd How to Get From SAS to PDF Tables Analyses Postscript file %_sas2ps Graphics Listings %_ps2pdf + Acrobat Distiller SAS output PDF file abcd From Postscript to PDF Convert!! IN X PS2PDF Acrobat Distiller watches OUT Acrobat Distiller converts abcd SAS Output Conventions • Portrait linesize=94 pagesize=87 landscape linesize=145 pagesize=56 • Options NOCENTER NODATE NONUMBER • Conventions for TITLES and FOOTNOTES • Graphic output uses postscript DEVICE=PSL abcd SAS Output Conventions - Titles Table 2.8-1.B Summary statistics of minimum cycle length. All-Subjects-Treated Group. Restricted to subjects with irregular cycle length < 41 days. __________________________________________________________ |Minimum cycle length (days) | Puregon | Table, Analysis, Listing, Figure <section>-<number> or <number> #Table 2.8-1.B #Table 2.8-1.B Summary statistics of minimum cycle length. All-Subjects-Treated Group. Restricted to subjects with irregular cycle length < 41 days. __________________________________________________________ |Minimum cycle length (days) | Puregon | abcd Table of Contents abcd SAS Output Conventions - Footnotes | SD | | | 3.54| | Minimum | 20| 25| 20| |____________________________|_________|_________|_________| (CONTINUED) Compound: Puregon (E1650), SAS program: tab_cycle /Date:21MAR2000 16:23 abcd SAS Output Conventions - Graphics • Graphics are generated with a postscript device (PSL) • Every graphic has a corresponding text file with the title in it Postscript file Text file with title abcd SAS Output Conventions - Graphics • Graphics are generated with a postscript device (PSL) #Figure 6.1.E ANCOVA model check: normal Q-Q plot of studentized residuals • EveryOutcome graphic a corresponding text variable:has (Prothrombin) Fragment 1+2 [nmol/L] Outliers excluded Per Protocol group in it file with the title Postscript file Text file with title abcd abcd What Is Postscript? • Page description language • A page is a graphic that can contain: Lines, rectangles, curves Text in various typefaces of any size and orientation • Device independent • Closely related to PDF (both adobe) abcd Postscript - Coordinate System 1 inch (595,842) = = 72 points A4 8,3 inch x 11,7 inch (0,0) abcd Postscript - Coordinate System 1 inch (612,792) = = 72 points Letter 8,5 inch x 11 inch (0,0) abcd Postscript - Adding Text Listing 4 Dosing Compliance. Descriptives per Subject and per Cycle. Intent-to-Treat Group. Choose font X-coordinate Y-coordinate moveto (text to show) show /Helvetica-Bold findfont 8 scalefont setfont 108 730 moveto (Listing 4) ushow 205 730 moveto (Dosing Compliance.) show /Helvetica findfont 8 scalefont setfont 205 723 moveto (Descriptives per Subject and per Cycle.) show 205 716 moveto (Intent-to-Treat Group.) show abcd Postscript - Document Structuring Conventions %!PS-Adobe-3.0 %%Title: Protocol 068004 Appendix F %%CreationDate: 29MAR2000 18:31 %%Generated by: _SAS2PS 1.0 May 1999 ((c) NV Organon, SAS 6.12, WIN_NT) ... %%EndComments %%BeginProlog … Define procedures and fonts %%EndProlog %%BeginSetup ... Define Hyperlinks and Bookmarks %%EndSetup %%Page: 1 Describe page 1 … %%Page: 2 … Describe page 2 %%Trailer %%DocumentFonts: Courier Helvetica-Bold Helvetica %%Pages: 474 %%EOF abcd How to Use the Pdfmark Operator ? • Used in postscript files to represent PDF features. • General syntax: [ …. Various key-value pairs… kind pdfmark abcd How to Define PDF Bookmarks? [ /Title string /Count int …action-specific key-value pairs /OUT pdfmark abcd How to Define PDF Bookmarks? [/Title (F.3 Extent of Exposure) /Count 3 /Page 121 /View [/XYZ 103 775 null] /OUT pdfmark [/Title (TAB 3.A Summary statistics of extent of exposure*Per Protocol group) /Page 122 /View [/XYZ 144.6 116.68 null] /OUT pdfmark [/Title (TAB 3.B Summary statistics of extent of exposure*All-Subjects-Treated group) /Page 125 /View [/XYZ 144.6 116.68 null] /OUT pdfmark [/Title (LIS 3.A Extent of exposure \(treatment duration in days\)*All-Subjects-Treated group) /Page 128 /View [/XYZ 144.6 116.68 null] /OUT pdfmark abcd How to Define PDF Hyperlinks? [ /Rect [llx lly urx ury] /Border [bx by c [d]] /SrcPg pagenum /Color array /Subtype /Link …action-specific key-value pairs /ANN pdfmark abcd How to Define PDF Hyperlinks? 108 291 moveto (Listing 1.3-A) ushow 205 291 moveto (Subjects for whom the blind was broken during the study) show 205 283 moveto (All-Subjects-Randomized group) show (F-26) Calc Dots [ /Rect [ 106 581 528 601 ] /Color [0 0 1] /Page 25 /View [/XYZ 144 117 null] /Subtype /Link /ANN pdfmark abcd From SAS to Postscript • SAS macro %_SAS2PS • Parameters: Author Apptype creator of the appendix type of appendix (STAT, IDL or CRF) Apptype=stat, sections will be generated. Apptype=idl, no sections will be generated. Apptype=crf, no sections will be generated. No table of contents will be generated. Special formatting can be applied with tags: <1> and <2> for bookmarks, <u>=underline, <b>=bold, <h>=helvetica abcd From SAS to Postscript • SAS macro %_SAS2PS • Parameters: Pagetext Filemask Maketoc T1, ..., t24 Watermrk Wmtext Bookmark text in pagenumber selection of files to include generate table of contents (Y/N) ? character strings with section titles. generate watermark (Y/N) ? watermark text in case watermrk=y generate bookmarks (Y/N) ? abcd From SAS to Postscript • SAS macro %_SAS2PS • Parameters: Firstpag Inlib Outlib Outfile starting pagenumber in output file. libname of library with input SAS files libname of library where postscript file will be written. name of postscript file. abcd %_SAS2PS Macro • • • • Read in all text files Sort by section, type and number Generate table of contents Generate postscript, including: – Bookmark / hyperlink information – Graphics abcd Conclusion • With SAS/Base and Acrobat Distiller it is possible to create PDF documents from SAS output. • This process is completely automated abcd Where to Get the Info? • First guide to postscript: http://www.Cs.Indiana.Edu/docproject/ programming/postscript/postscript.Html • Pdfmark reference manual: http://partners.Adobe.Com/asn/developer/ technotes.Html • Pdfmark primer by thomas merz: http://www.Pdflib.Com/pdfmark/index.Html • Get ghostscript/ghostview: http://www.Cs.Wisc.Edu/~ghost/index.Html abcd abcd Questions ? PDF ?? Postscript ?? PDFMark ?? SAS ?? abcd Thank You !! Contact: lex.jansen@organon.com abcd