IBM Cognos 最佳实践: 在 IBM Cognos BI Report Studio 中使 PDF 报表的输出适合页面大小

文档性质:技巧或技术;产品:IBM Cognos BI;关注领域:报表

这篇篇幅较短的指南演示了一种简便方法,该方法可以使 PDF 报表输出在纵向和横向都适合页面大小,同时不会不影响 HTML 视图。

Marc Reed, 首席顾问, IBM

Marc Reed 是 UK Cognos BI 团队的首席顾问。他从事 Cognos BI 软件开发工作已经 10 多年时间了。在这段时间里,他曾经为许多客户(各个行业)的众多项目提供帮助,范围涉及故障排除到大型企业应用部署。这么多年来,Marc 开发过许多最佳实践方法,并且将它们共享给了许多 BI 开发者和咨询师。



2012 年 4 月 16 日

免费下载:IBM® Cognos® Express V9.5 或者 Cognos® 8 Business Intelligence Developer Edition V8.4 试用版
下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。

简介

目的

这篇篇幅较短的指南演示了一种简便方法,该方法可以使 PDF 报表输出在纵向和横向都适合页面大小,同时不会影响 HTML 视图。

适用范围

本指南适用于所有版本的 IBM Cognos Report Studio。

例外情况

本技术仅适用于具有固定行数或尺寸的报表,如财务报表或仪表板。如果无法预先定义报表的尺寸,那么无法使用本技术。


场景

终端用户在编写报表时,经常会希望打印的输出内容符合一张工作表的大小。对于打印 IBM Cognos 报表,推荐的方法是将报表生成 PDF 输出,并将它打印出来。

如果一张报表跨多个工作表,那么报表作者可以采用多种方法。最常见的方法是调整报表本身,如调整页边距、填充内容和字体大小以缩小输出内容的尺寸。虽然这种方法也起作用,而且能将输出内容放在一张 PDF 页上,但却会对其他输出内容产生影响。例如,报表在 HTML 视图中格式很好,但是在 PDF 视图中要跨多个 PDF 页。缩小报表字体大小,以便能符合在一张工作表中显示。现在在屏幕上查看 HTML 格式的报表,其中字体也随之变小了,难以看清表中的内容。

这里介绍的技术能让报表适合一张 PDF 工作表,而不会影响 HTML 视图。

本技术仅适用于具有固定行数或尺寸的报表,如财务报表或仪表板。如果报表的尺寸无法预先定义,那么无法使用本技术。


纵向适合一个页面大小

本小节将演示如何让报表的 PDF 输出适合一张工作表大小。

看看下列包含 Year、Product Line、Product Type、Quantity 和 Revenue 的列表式报表:

图 1:清单报表跨两页
图 1:清单报表跨两页

我们可以看到,在以 PDF 输出时,报表跨两页。用户要求将报表打印在一个页面上。用户还要求在 HTML 视图中查看时,字体大小不受影响。

为了让报表大小适合一个页面显示,按以下步骤操作。

  1. 注意当前报告的纸张大小。可以在许多地方查看纸张的大小。查看当前页大小的一个简单方法就在 PDF 输出中查看页面大小,它通常位于 File > Properties 屏幕的左下角底部。
    图 2:Document Properties 窗口:显示 Description 选项卡。在 Advanced 部分显示页面大小。
    图 2:Document Properties 窗口:显示 Description 选项卡。在 Advanced 部分显示页面大小。
  2. 注意当前页的高度与宽度比例。从 PDF 输出中可以看到,页面是 11 英寸高, 8.5 英寸宽。高度与宽度比例是 1:0.77。就是说,我们的页面高为 1 英寸,宽为 0.77 英寸。
    可以通过高度除以宽度得到此比例。本示例中的比例为 11 / 8.5 = 0.77。我们将在以后的步骤中用到此比例。
  3. 返回到 Report Studio,并访问 file 菜单项下的 PDF Page Set Up 选项。
  4. 在 Paper Size 下拉列表中选择 Custom 选项。
    图 3:Report Studio:显示 Custom Page 设置窗口
    图 3:Report Studio:显示 Custom Page 设置窗口
  5. 在同一个对话框中,增加页面的高度,使它正好适合一张 PDF 工作表大小。现在,使高度与原先的 PDF 输出一样。
    在本示例中,我们将高度增加至 14 英寸,现在运行报表,PDF 输出如下所示。
    图 4:Cognos Viewer:显示适合一页大小的 PDF 报表
    图 4:Cognos Viewer:显示适合一页大小的 PDF 报表
    正如您在上面图片中所看到的,报表适合一张页面大小,但在页面底部留下太多空白,因此我们试着将 14 英寸改小一点。在本示例中,使用 12 英寸正好。
    但是现在页面的高度与宽度比例不正确。为了达到演示的效果,这里有一张高度大幅度增加的页面。
  6. 为了让页面协调,我们需要用到之前计算的比例数值。在本示例中,此数值是 0.77。
    我们将用高度乘以比例,得到正确的页面宽度。在本示例中,我们的纸张高度为 12 英寸。我们将 12 乘以 0.77。得到 9.27 英寸,这就是纸张宽度值。
  7. 现在运行报表时,就能得到高度宽度比例正确的 PDF 页面。
    图 5:Cognos Viewer:显示比例正确的 PDF 报表
    图 5:Cognos Viewer:显示比例正确的 PDF 报表
    现在可以看到报表在 PDF 模式中适合一张工作表大小。我们没有必要对字体大小做任何改变,这意味着该报表的 HTML 输出没有发生任何变化。
  8. 最后一步是打印页面,如下列 Adobe PDF 打印对话框所示。
    图 6:Adobe PDF 打印对话框
    图 6:Adobe PDF 打印对话框

    在屏幕截图上可以看到,Report Studio 生成的页面是 9.27 x 12.00 英寸。
    在 Adobe 对话框中 page scaling 选项设置为默认的 ‘Shrink to Printable Area’。还有,我们看到整个页面实际是打印在 11 * 8.5 英寸的页面上。这是原有维度的页面。


横向适合一个页面大小

这两项适合页面的要求中(横向或纵向),这项更加简单而且可以通过 Report Studio 属性设置。

对于简单的列表或交叉表报表来说,使用交叉表或列表本身的分页属性就可以将输出调整为适合一张页面大小:

图 7:分页选项显示未选中 “Allow horizontal pagination” 选项
图 7:分页选项显示未选中 “Allow horizontal pagination” 选项

取消选中 Pagination 选项上的 Allow horizontal pagination 属性,调整列表或交叉表的大小。如果有交叉表或列表嵌入其他项目中,那么就需要调试,看要将此属性设置为什么级别。

如果这不管用,那么可能报表比较复杂,例如类似于仪表板的报表,那么之前提到的相同技术就能起作用了。在本示例中,第一步是先正确获取页面大小的横向尺寸,而不是纵向高度。

参考资料

学习

获得产品和技术

讨论

  • 参与 developerWorks 博客 并加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=810303
ArticleTitle=IBM Cognos 最佳实践: 在 IBM Cognos BI Report Studio 中使 PDF 报表的输出适合页面大小
publish-date=04162012