390 likes | 875 Views
Creating PDF documents including hyper-links, bookmarks and a table of contents with the SAS software. Lex Jansen NV Organon Oss, The Netherlands. Contents. Data flow Why PDF ? Types of appendices From SAS to Postscript to PDF SAS output conventions Postscript PDF mark operator
E N D
Creating PDF documents including hyper-links, bookmarks and a table of contents with the SAS software. Lex JansenNV Organon Oss, The Netherlands
Contents • Data flow • Why PDF ? • Types of appendices • From SAS to Postscript to PDF • SAS output conventions • Postscript • PDF mark operator • %_SAS2PS • Demo
ClinTrial CRF Investigator SAS Clinical Data Warehouse Data Entry(ClinTrial) Electronic Submission Document Management System (Documentum) The Data Flow
SAS ClinTrial CRF SAS Clinical Data Warehouse PDF Document Management System (Documentum) The Data Flow Electronic Submission
Why the PDF Format ? • Independent of environment • Easy navigation (hyperlinks, bookmarks) • Easy distribution (free acrobat reader) • The FDA wants it
Types of Appendices • Statistical analyses (STAT)(different sections with:tables, analyses, graphics, listings) • Individual data listings (IDL) • Case report form tabulations (CRF)
Environment • Windows NT, SP 4 • Sas 6.12, TS045, only SAS/base • Acrobat distiller 3.02 / 4.05
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!!
Postscript file Listings PDF file How to Get From SAS to PDF Tables Analyses %_sas2ps Graphics %_ps2pdf + Acrobat Distiller SAS output
IN PS2PDF AcrobatDistillerwatches OUT AcrobatDistillerconverts From Postscript to PDF Convert!! X
SAS Output Conventions • Portrait linesize=94 pagesize=87landscape linesize=145 pagesize=56 • Options NOCENTER NODATE NONUMBER • Conventions for TITLES and FOOTNOTES • Graphic output uses postscript DEVICE=PSL
<section>-<number>or <number> Table, Analysis, Listing, Figure 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 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 |
SAS Output Conventions- Footnotes | SD | | | 3.54| | Minimum | 20| 25| 20| |____________________________|_________|_________|_________| (CONTINUED) Compound: Puregon (E1650), SAS program: tab_cycle /Date:21MAR2000 16:23
Postscript file Text file with title 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 SAS Output Conventions- Graphics • Graphics are generated with a postscript device (PSL) • Every graphic has a corresponding text file with the title in it #Figure 6.1.E ANCOVA model check: normal Q-Q plot of studentized residuals Outcome variable: (Prothrombin) Fragment 1+2 [nmol/L] Outliers excluded Per Protocol group
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)
(595,842) = 8,3 inch x11,7 inch (0,0) Postscript - Coordinate System A4 1 inch = 72 points
(612,792) = 8,5 inch x11 inch (0,0) Postscript - Coordinate System Letter 1 inch = 72 points
Postscript - Adding Text Listing 4 Dosing Compliance. Descriptives per Subject and per Cycle. Intent-to-Treat Group. Choose fontX-coordinateY-coordinatemoveto(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
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 … %%EndProlog %%BeginSetup ... %%EndSetup %%Page: 1 … %%Page: 2 … %%Trailer %%DocumentFonts: Courier Helvetica-Bold Helvetica %%Pages: 474 %%EOF Define procedures and fonts Define Hyperlinks and Bookmarks Describe page 1 Describe page 2
How to Use the Pdfmark Operator ? • Used in postscript files to represent PDF features. • General syntax: [ …. Various key-value pairs…kind pdfmark
How to Define PDF Bookmarks? [ /Title string /Count int …action-specific key-value pairs /OUT pdfmark
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
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
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
From SAS to Postscript • SAS macro %_SAS2PS • Parameters: Author creator of the appendix Apptype 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
From SAS to Postscript • SAS macro %_SAS2PS • Parameters: Pagetext text in pagenumber Filemask selection of files to include Maketoc generate table of contents (Y/N) ? T1, ..., t24 character strings with section titles. Watermrk generate watermark (Y/N) ? Wmtext watermark text in case watermrk=y Bookmark generate bookmarks (Y/N) ?
From SAS to Postscript • SAS macro %_SAS2PS • Parameters: Firstpag starting pagenumber in output file. Inlib libname of library with input SAS files Outlib libname of library where postscript file will be written. Outfile name of postscript file.
%_SAS2PS Macro • Read in all text files • Sort by section, type and number • Generate table of contents • Generate postscript, including: • Bookmark / hyperlink information • Graphics
Conclusion • With SAS/Base and Acrobat Distiller it is possible to create PDF documents from SAS output. • This process is completely automated
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
Questions ? PDF ?? Postscript ?? PDFMark ?? SAS ??
Thank You !! Contact: lex.jansen@organon.com