Birt报表显示和打印居中对齐

分三种方法:
第三种是自己设定出来的.

第一种:
http://www.birthome.cn/read.php?tid-1615.html

今天看见了安迅描述BIRT2.5字体换行的设置那篇文章中,,,我照着设置了下,还把文字设置居中和垂直设置居中,然后没注意看,,报表居然居中显示了。这是很不起眼的设置,解决了一点报表显示的问题,以后我们的报表不用靠边显示了,,
首先,,选择你的报表右键,,我的是table,,我就以table为例,在table单击右键如图




选择report以后弹出下面的界面




择Text block, 出现这个界面



把vertical aliagnment 和 Text alignment 都为居中,设置whitespace 为no wrraping 是文字换行的,挺实用的东东,这样预览你的报表是不是居中显示了。。无意中测试出来的

第二种:
http://hi.baidu.com/chensong_blog/item/334e2b29c65ddf9bb632631a


Birt报表默认的是靠左对齐的,显示和打印都不够美观,那么怎么才能居中对齐呢?

前提:报表模板用 布局Auto Layout,并且需要显示指定每列的宽度或整个模板的宽度。对于交叉表,一般是显示指定每列的宽度。

一、显示居中
      修改webcontent/birt/styles/style.css文件,在BirtViewer_Body样式中增加text-align:center;即可

二、打印居中
      1、将org/eclipse/birt/report/engine/emitter/html中的源码复制到你的工程中
      2、修改org/eclipse/birt/report/engine/emitter/html/HTMLReportEmitter.java文件
          2.1   将1477行附近的

                
else if ( !fixedReport )
               {
                          styleBuffer.append( " width:100%;" );
               }

               改成
             
 else if ( !fixedReport )
               {
                          styleBuffer.append( " width:100%;text-align:center;" );
               }

      
          2.2 将850行附近的
        
else
         {
                    //The document type must be output before open the "html" tag.
                   writer.outputDoctype( );
                   writer.openTag( HTMLTags.TAG_HTML );
          }

         改成
       
else
        {
                  //The document type must be output before open the "html" tag.
                 //writer.outputDoctype( );
                 writer.openTag( HTMLTags.TAG_HTML );
           }


此方案在IE浏览器中测试通过。


第三种:css方式
先使用一个grid空间来布局
然后设定grid的宽度
最后设定grid的属性:
top:0px, bottom:0px, left:auto, right:auto

你可能感兴趣的:(birt)