BookmarkSubscribeRSS Feed
deleted_user
Not applicable
Does anyone know if there are mouseover options in ODS PDF.

Here is a link using a GPlot procedure notice the different mouseover features he has used here with hyperlinks and popup summary. This example utilizes ODS HTML and an HTML= option within the GPlot procedure.
http://robslink.com/SAS/democd23/scatgif.htm

My question is whether or not the ODS PDF destination has comparable features. Any direction would be appreciated.
5 REPLIES 5
Cynthia_sas
SAS Super FREQ
Hi:
The FLYOVER style attribute may do what you want for report tables. However, you may not like the "post-it" note look in Acrobat Reader. You may have to enable or allow popups in order to compare the HTML look and behavior with the PDF look and behavior:

[pre]
ods html file='c:\temp\flyover.html' style=sasweb;
ods pdf file='c:\temp\flyover.pdf';

proc print data=sashelp.class;
title 'test flyover style attribute';
var name / style(header)={flyover="No Last Names"};
var age ;
var height / style(data)={flyover="CM"};
run;

ods _all_ close;
[/pre]

Also, there is a style attribute called URL= which would enable you to set hyperlinks in the tables. For example, changing the style attribute override for name to this:
[pre]
var name / style(header)={url="http://www.sas.com"};
[/pre]

...will allow the header for NAME to become a hyperlink.

cynthia
deleted_user
Not applicable
The pop-up seems to work fine. My main concern is that I've noticed in the past that SAS/GRAPH (GPLOT) procedures work very differently than PRINT procedures when working in the ODS environment. I'd be very interested to see how flyover is integrated into data points of a GPLOT procedure similarly to the link above.
Cynthia_sas
SAS Super FREQ
Hi:
Sorry, my bad. I misread your post & thought you wanted something similar to the HTML drilldown or flyover for tables.

I don't think that the HTML= option (as shown in the SAS code) works for drilling down in PDF output -- one reason why I think that is that images are converted from their SAS/Graph form to internal PDF form. In addition, in the documentation for GPLOT, it says:

HTML=variable
identifies the variable in the input data set whose values create links in the HTML output file that is generated by ODS. These links are associated with the plot points, or if AREA= is used, with the areas between plot lines. The links point to the data or graph that you wish to display when the user drills down on the plot point or area. The maximum length for the value of this variable is 1024 characters.

Note that the HTML= option is functional only when a single PLOT or PLOT2 statement appears in the PROC GPLOT procedure.

Not supported by: Java (partial), ActiveX (partial)


I believe if the capability were available for PDF, the documentation would not have qualified the type of output to HTML. If you have a full Adobe product (PageMaker, etc), I do not know what would happen if you created a PDF file from an HTML file that has hyperlinks created with HTML=. This may be a question for Tech Support.

cynthia
deleted_user
Not applicable
OK, so if the FLYOVER option does not work in ODS PDF then I'm still looking for options.

http://robslink.com/SAS/democd23/scatgif.htm

continuing with that example I'm trying to be able to link to FL, GA, NC SC and VA which is what he has done with the html= and ODS HTML

Here are some of the ideas I've had:
Using escapechar in combination with haxis value= assignment (so the links would be in the axis labels rather than the data point)
Using escapechar in combination with the symbol value= assignment
Using a transparent areas and link and overlaying them on the graph

Any of the above sound feasible? Or if someone's clever hat is on...let me know.

Thanks
Cynthia_sas
SAS Super FREQ
Hi:
FLYOVER works for PDF tables, but will not work for GPLOT. As far as I know, the HTML= option for GPLOT, GCHART, etc is the only way to build a link that SAS/Graph will respect and correctly build, for HTML destinations. That's because HTML has built in tags, the <A> and the <IMG>. PDF does NOT use those tags. PDF has another, proprietary to Adobe method, of building interactivity -- when you use the URL= method or the FLYOVER= method, ODS PDF knows how to build those links or popups in Adobe format.

I believe that your suggested workarounds will have the same problem as when you try to use HTML= with ODS PDF. If you revise the program from the link in your earlier mail to go to ODS PDF, you will see that the HTML= drilldowns are not "active" in the PDF document. When you open the file in Acrobat Reader, the links built with HTML= are gone -- that's because the graph image from SAS/Graph is translated to an internal PDF format.

As far as I know, your #1 and #2 ideas are not feasible because ODS ESCAPECHAR in-line formatting is not supported in SAS/Graph. For example, you can only use ESCAPECHAR formatting in a SAS/Title statement if you use an option that takes the title "away" from SAS/Graph and sends the title, with ESCAPECHAR strings, to ODS.

So, while that might work for the title and the footnote, that would not work for your graph points or axis or labels. Your idea of making a transparent layer and overlaying them on the graph sounds like an HTML technique -- I don't think this will work with ODS PDF because ODS does not build layers. You might, if you had a full Adobe editing product, be able to edit the PDF file created by SAS and then use Adobe products to manually insert bookmarks -- does Adobe have the kind of "layering" that you envision?

The foundation of Adobe PDF format was as a file format meant to hold a document image as that image would get sent to a printer. Since there is no interactivity or drilldown on a printed piece of paper, it makes sense to me that the file created for ODS PDF would not have the same kind of interactivity as an ODS HTML file.

If there -is- any workaround for PDF and SAS/Graph as far as drilldown capability, my bet would be on Tech Support knowing what the workaround was.

cynthia

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 5 replies
  • 2062 views
  • 0 likes
  • 2 in conversation