The SAS Output Delivery System and reporting techniques

Overlaying text within a table area

Reply
N/A
Posts: 0

Overlaying text within a table area

Hi,

We are producing PDF output, from the mainframe, using ODS and have noticed that putting Text into a previously defined table area causes the frame border to 'fragment'. Due to the way in which the code is generated it isn't possible (at the moment) to have the text as a cell within the table.

It's difficult to describe the problem without a graphic but basically the first text character causes a gap in the bottom border.

NOTE: The dot leader has been put in so that text is positioned in the correct spot.

eg.
........... Text overlayed here
_______ _____________________________________________


I suspect that it may be due to the height specification for the text (trying to be as generic as possible without calculating a font height).

Does anyone have any ideas on how to correct this so that the frame border remains intact?

Code for box and text follows:

/* Box template for Address */

obj.region(x: "140.002mm", y: "004.364mm",
width: "45.000mm", height: "13.500mm");

obj.table_start(name: "Template",
overrides: "frame=box
background=_undef_
rules=all" );

obj.row_start();
obj.format_cell(text: " ",
overrides: "cellheight=13.5mm
cellwidth=45mm
background=_undef_");
obj.row_end();

obj.table_end();

obj.region(x: "143.001mm", y: "5.380mm",
width: "0.000mm", height: "284.625mm");
longtext = ltxini;
finaltxt = ltxini;
longtext = "Testing overlay";
finaltxt = trim(longtext);
obj.format_text(text: finaltxt,
overrides: "font=fonts('slf006')");

obj.region(x: "143.001mm", y: "8.396mm",
width: "0.000mm", height: "281.609mm");
longtext = ltxini;
finaltxt = ltxini;
longtext = "of text where tables";
finaltxt = trim(longtext);
obj.format_text(text: finaltxt,
overrides: "font=fonts('slf006')");

obj.region(x: "143.001mm", y: "11.413mm",
width: "0.000mm", height: "278.592mm");
longtext = ltxini;
finaltxt = ltxini;
longtext = "have been defined";
finaltxt = trim(longtext);
obj.format_text(text: finaltxt,
overrides: "font=fonts('slf006')");

obj.region(x: "143.001mm", y: "14.429mm",
width: "0.000mm", height: "275.576mm");
longtext = ltxini;
finaltxt = ltxini;
longtext = "for pdf output";
finaltxt = trim(longtext);
obj.format_text(text: finaltxt,
overrides: "font=fonts('slf006')");
SAS Super FREQ
Posts: 8,868

Re: Overlaying text within a table area

Posted in reply to deleted_user
Hi:
This syntax is experimental in SAS 9.1.3 -- so, unless people are experimenting, I think that only Tech Support will be able to help you with this question.

cynthia
Ask a Question
Discussion stats
  • 1 reply
  • 95 views
  • 0 likes
  • 2 in conversation