找回密码
 立即注册

QQ登录

只需一步,快速开始

jessie

银牌会员

29

主题

85

帖子

2482

积分

银牌会员

积分
2482

活字格认证

jessie
银牌会员   /  发表于:2011-11-18 11:05  /   查看:12732  /  回复:13
Dim rpt As New rptApp
Dim rptPage As New DataDynamics.ActiveReports.PageSettings

  Me.PageSettings.Margins.Bottom = 1.0
   Me.PageSettings.Margins.Left = 1.0
   Me.PageSettings.Margins.Right = 1.0
   Me.PageSettings.Margins.Top = 1.0
   rpt.PageSettings = rptPage
   rpt.Run()

打印出来的页面,不是我设置的距离,怎么会是,页头很小,页脚空了很长的距离。
是不是还有其他设置我没有设置正确的,请帮我看一下
谢谢

13 个回复

倒序浏览
jessie
银牌会员   /  发表于:2011-11-18 12:52:00
沙发
dof,在吗
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-11-18 13:37:00
板凳
你好,
我有一下不明白的地方,你New了一个rptPage ,然后却设置了 Me.PageSettings的Margins,最后再将 rptPage 赋给 rpt.PageSettings ,你Me.PageSettings是设置什么控件的属性呢。

能否将你的报表页面截图或者导出为PDF发过来看一下。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-11-18 13:59:00
地板
我使用的以下代码时可以生效的,你参考以下:
  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             NewActiveReport1 rpt = new NewActiveReport1();
  4.             rpt.PageSettings.Margins.Top = 3;
  5.             rpt.PageSettings.Margins.Bottom = 3;
  6.             rpt.PageSettings.Margins.Left = 3;
  7.             rpt.PageSettings.Margins.Right = 3;
  8.             rpt.Run();
  9.             this.viewer1.Document = rpt.Document;            
  10.         }
复制代码
回复 使用道具 举报
jessie
银牌会员   /  发表于:2011-11-18 14:47:00
5#
我用你的代码跟我的效果是一样的,
上左右都起作用了,只是下空出很大的一个空白,
也就是上左右大概都是边距空白都是3,而下,下边距几乎是6

我的pageFooter找了,没有特别大的空间,我在ReportStart里面设置

        Me.PageFooter.Height = 0
效果是pageFooter里面的控件都消失了,但是下边距还是那么大。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-11-18 14:55:00
6#
因为不知道你实际打印的结果,我猜测有两个可能:
第一种:该页的数据较少,不能填充整个页面,所以就剩下一部分空白区域,看上去就是下面的边距相当大
第二种:PageFooter实际打印的高度比你设置的高度要大,你可以设置PageFooter的背景色,然后查看PageFooter实际打印高度,以便于区分空白区域是PageFooter还是下边距区域

如果方便的话能否截图过来看一看。
回复 使用道具 举报
jessie
银牌会员   /  发表于:2011-11-18 15:19:00
7#
啊,加颜色管用阿,是footer的label太大了,下面有些空。
dof,多谢。
还有一个问题,activereport会自动放缩画面么,
因为我现在代码这样子
            rpt.PageSettings.PaperKind = Drawing.Printing.PaperKind.A4
            rpt.PageSettings.Margins.Top = 10*0.3937
            rpt.PageSettings.Margins.Bottom = 10*0.3937
            rpt.PageSettings.Margins.Left = 10*0.3937
            rpt.PageSettings.Margins.Right = 10*0.3937
            rpt.Run();
            Dim tifExporter As New DataDynamics.ActiveReports.Export.Tiff.TiffExport
            tifExporter.Export(rpt.Document, outPutFile)
我实际报表的printWitch是200mm,边距都设置成10mm。页面宽度+边距超出了A4
纸的宽度210mm。

但是我生成的tif文件,用Microsoft Office Document Imaging 察看,100%的显示,是一张纸,用打印机打印也是一张纸。但是用windows自带的画板看,选择原图大小,就很大了,打印预览,边距都设成0,
打印出来用A4纸还是给分开了,打了4张。

请问一下这种情况,您遇到过么,谢谢
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-11-18 15:37:00
8#
如果你报表的内容超过了选择纸型能够打印的最大范围,就会被打印成多张,在不改变打印纸型的情况下,只能将打印的内容变小,没有其它办法了。
回复 使用道具 举报
jessie
银牌会员   /  发表于:2011-11-18 15:41:00
9#
那active Report输出的tif文件是给我缩小了呢还是没缩小呢?

我同一个tif文件,画图,原尺寸到打印机打印,4张

Microsoft Office Document Imaging  100% 打印,1张。

我想知道我的原图大小是多少怎么看
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-11-18 16:22:00
10#
使用画图看到的应该是正确的大小,使用 Microsoft Office Document Imaging 看到的不是实际大小
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部