IBM Cognos Proven Practices
Fit PDF Report Output to Page in IBM Cognos BI Report Studio
Nature of Document: Tip or Technique; Product(s): IBM Cognos BI; Area of Interest: Reporting
This content is part # of # in the series: IBM Cognos Proven Practices
This content is part of the series:IBM Cognos Proven Practices
Stay tuned for additional content in this series.
This short guide demonstrates an easy method of making a report PDF output fit to page, both vertically and horizontally, without impacting the HTML view.
The guide is applicable to all versions of IBM Cognos Report Studio.
Exclusions and exemptions
This technique is only suitable for reports that are of a fixed row count or size, such as Financial Statements or Dashboards. This technique will not work when the size of the report cannot be pre-determined.
When authoring reports the end user will very often require that the output fits to a single sheet of paper when printed. The recommended method of printing an IBM Cognos report is to run the report into a PDF output and print from there.
If a report spans multiple sheets there are a number of methods available to the report author. The most often seen method is to alter the report itself – such as margins, padding and font sizes to reduce the size of the output. Whilst this method will work and make the output appear on a single PDF page it can have an impact on any other outputs. For example we could have a report that looks good in HTML yet spans multiple PDF pages. The font size of the report is reduced so that the report fits to a single sheet. Now when the report is viewed on screen (HTML) the font is also reduced, making the report harder to read on screen.
The technique documented here allows you to fit a report to a single PDF sheet without it impacting the HTML view.
This technique is only suitable for reports that are of a fixed row count or size. Such as Financial Statements or Dashboards. This technique will not work when the size of the report cannot be pre-determined.
Fit to page - Vertically
This section shows how to fit the PDF output of a report to a single sheet.
Consider the following list report containing Year, Product Line, Product Type, Quantity and Revenue:
Figure 1: List report spans two pages
We can see the report spans two pages when run in PDF output. The user has requested that the report prints to a single page. The user has also stated that the font sizes – when viewed in HTML - are perfect.
In order to make this report fit to a single page do the following steps.
- Note the page size of the current report. This can be seen in a number of places. An easy way of noting the current page size is within the PDF output itself,usually in the bottom left hand corner or from within the File > Properties screen.
Figure 2: Document Properties window, showing the Description tab. Page size is shown in the Advanced section.
- Note the ratio of height to width of the current page. From our PDF output we can see our paper is 11 inches high and 8.5 inches wide. Our height to width ratio is 1:0.77. That is for every inch our paper is high, our paper is 0.77 inches wide.
We can work out this ratio by dividing the width by the height. In this case 11 / 8.5 = 0.77. We will use this ratio is a later step.
- Return to Report Studio and access the PDF Page Set Up option located under the file menu item.
- Select the Custom option on the Paper Size drop down list.
Figure 3: Report Studio showing the Custom Page setup window
- In the same dialog increase the height of the page to a value that makes the output fit nicely to a single PDF sheet. For now keep the width the same as the original PDF output.
In our example we will increase the height of the page to 14 inches so we run the report now the PDF output looks as follow.
Figure 4: Cognos Viewer that shows a PDF report that fits to one page
As you can see from the image above the report fits on one page but this gives us too much white space at the bottom of the page so we will try a number smaller than 14. In this case a value of 12 gives us the perfect result.
However we now have a page that is not in the correct height-to-width ratio. To demonstrate this here is a report that has had the page height increased significantly.
- In order to make our page scale correctly we need the ratio number that we calculated earlier. In our example that number was 0.77.
We will multiply our new height by the ratio to determine the correct width for the page. In the example given we current have a page height of 12 inches. If we multiply 12 by the ratio of 0.77. This gives us a value of 9.27 which is the value for our paper width.
- Now when we run the report we see a PDF page that is of the correct height-to-width ratio.
Figure 5: Cognos Viewer showing the PDF report with correct ratio
We can see that our report now fits onto a single sheet in PDF mode. We have not had to change any fonts which means the HTML output of the report has not been altered.
- The final step is to print the page as shown below in the Adobe PDF print dialog box.
Figure 6: Adobe PDF print dialog box
On the screen shot we can see the Page produced by Report Studio that is 9.27 x 12.00 inches.
In the Adobe dialog box the page scaling option is set to the default of 'Shrink to Printable Area'. Alongside this we can see that the entire page will actually be printed on an 11 * 8.5 inch page. That is a page of the original dimensions.
Fit to page - Horizontally
Out of the two fit to page requirements – horizontal or vertical - this can be the easier and may be achieved by a Report Studio property.
For simple lists or crosstab reports the pagination property of crosstab or list itself may be enough to scale the output to a single page:
Figure 7: Pagination option showing the “Allow horizontal pagination” option unchecked
Uncheck the Allow horizontal pagination property on the Pagination option to scale a list or crosstab. If you have crosstabs or lists nested inside other items then you may need to experiment on which level you need to set this property.
If this does not work, maybe the report is more complicated such as a dashboard like report, then the same technique as described before will work. In this case the first step is to work on getting the horizontal size of the page correct first rather than the vertical height.