The SAS Output Delivery System and reporting techniques

Row height changes with use of symbols in ODS PDF

Accepted Solution Solved
Reply
Contributor
Posts: 27
Accepted Solution

Row height changes with use of symbols in ODS PDF

Hi,

 

I am struggling with ODS PDF where use of special symbols cause increase in height of row generated by proc report via ODS PDF. 

E.g. see the third row in attached file. The output is generated via following code. Is there a way to ensure the height of the rows wherever the symbols are used to be same as the height of the other rows.  Thanks in advance.

 

data x;
format x $200.;
x = 'Some text without special symbol'; output; output;
x = "Some text with special symbol Greater than or equal to - ^{unicode 2265}"; output;
x = 'Some text without special symbol'; output; output;
run;

ods escapechar="^";

options printerpath=pdf;
ods pdf file="d:\text_test.pdf" title="text" uniform notoc nobookmarkgen;

 

proc report data=x nowd;
column x;
define x/display 'text';
run;

ods pdf close;


Accepted Solutions
Solution
‎02-23-2018 08:51 AM
Contributor
Posts: 27

Re: Row height changes with use of symbols in ODS PDF

Posted in reply to vineet7878_gmail_com

SAS support has provided a workaround to fix this problem. It is provided below. Thanks for your prompt help.

 

data x;

format x $200.;

x = 'Some text without special symbol'; output; output;

x = "Some text with special symbol Greater than or equal to - ^S={font_face=Symbol}%sysfunc(byte(179))"; output;

x = "Some text without special symbol Greater than or equal to"; output;

x = 'Some text without special symbol'; output; output;

run;

 

View solution in original post


All Replies
SAS Employee
Posts: 30

Re: Row height changes with use of symbols in ODS PDF

Posted in reply to vineet7878_gmail_com

You can manually control the height of all rows at once by modifying the cellheight option within the columns styles. This goes in the PROC REPORT statement.

proc report data=x nowd style(column)={cellheight=0.3in};

 

If you replace your proc report statement with that one, you should see all rows are now the same height. Feel free to play around with the number if you don't like the size I chose. It doesn't always do a great job at centering within the new heights, but all the boxes will be the same size.

Contributor
Posts: 27

Re: Row height changes with use of symbols in ODS PDF

Posted in reply to GinaRepole

Thanks Gina. This solution doesn't work when text is wrapping up in the cell, which is often the case.

I am looking for a solution where I set the value once somewhere in proc report, template or any other place to fix the line height. Data driven use of these symbols, superscript, subscript etc shouldn't mess up my report layout, pagination etc. 

SAS Super FREQ
Posts: 9,423

Re: Row height changes with use of symbols in ODS PDF

Posted in reply to vineet7878_gmail_com
Hi:
I checked with a PDF expert in Tech Support and got this feedback:
"It looks like he is running into this defect:

http://support.sas.com/kb/56/784.html

.. but Times is not fixing the problem when I use his code. Ask him to create a track so that I can followup with the developers."

So please use this form http://support.sas.com/ctx/supportform/createForm to open a track and reference this forum posting in your track.

Thanks, cynthia
Contributor
Posts: 27

Re: Row height changes with use of symbols in ODS PDF

Posted in reply to Cynthia_sas

Thanks Cynthia. I have opened up a track with support.

Solution
‎02-23-2018 08:51 AM
Contributor
Posts: 27

Re: Row height changes with use of symbols in ODS PDF

Posted in reply to vineet7878_gmail_com

SAS support has provided a workaround to fix this problem. It is provided below. Thanks for your prompt help.

 

data x;

format x $200.;

x = 'Some text without special symbol'; output; output;

x = "Some text with special symbol Greater than or equal to - ^S={font_face=Symbol}%sysfunc(byte(179))"; output;

x = "Some text without special symbol Greater than or equal to"; output;

x = 'Some text without special symbol'; output; output;

run;

 

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 5 replies
  • 286 views
  • 0 likes
  • 3 in conversation