找回密码
 立即注册

QQ登录

只需一步,快速开始

lucky

论坛元老

16

主题

38

帖子

6006

积分

论坛元老

积分
6006

活字格认证

lucky
论坛元老   /  发表于:2014-1-17 10:52  /   查看:9568  /  回复:10
一下是vb中调用AR3时的代码:
With rptMain.Printer
            .StartJob ""            '印刷ジョブ開始
            For intI = 0 To rptMain.Pages.Count - 1
                DoEvents
                .StartPage          '1つの印刷ジョブ内で、新しいページを始める
                                    'ページ単位の印刷
                .PrintPage rptMain.Pages(intI), LeftSize, TopSize, WidthSize, HeightSize
                .EndPage            '処理中のページを終了
            Next intI
            .EndJob                 '印刷ジョブ終了
        End With
AR7.0中printer类中找不到这些方法,使用什么方法可以达到同样的效果呢?
谢谢。

10 个回复

倒序浏览
roger.wang
社区贡献组   /  发表于:2014-1-17 12:16:00
沙发
回复 1楼lucky的帖子

非常抱歉,AR 3.0 升级到AR 7.0改变确实很大。

这里有两篇相关的博客,供您参考:
修改 ActiveReports3/6 升级到ActiveReports 7 之后的命名空间错误
ActiveReports区域报表实现自定义打印操作
回复 使用道具 举报
lucky
论坛元老   /  发表于:2014-1-22 14:50:00
板凳
您好,根据您提供的案例,我试用了下,无法达到效果。
请问GrapeCity.ActiveReports.SystemPrinter 可以设定打印用纸类型吗(即横打还是竖打)?
现象是我设定了SectionReport的打印用纸类型后,但是SystemPrinter打印结果还是默认的打印用纸类型。
回复 使用道具 举报
lucky
论坛元老   /  发表于:2014-1-22 16:24:00
地板

我写了一个例子请您协助调查一下吧。
里面一览中有详细的说明和疑问。
谢谢了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-1-22 18:23:00
5#
回复 4楼lucky的帖子

demo收到了, 明天给您答复。
回复 使用道具 举报
lucky
论坛元老   /  发表于:2014-1-22 19:42:00
6#
嗯,好的。谢谢了。
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-1-23 14:42:00
7#
回复 6楼lucky的帖子

帮您实现了一个--横、全在一页的打印效果,代码截图如下:

  1. private void button3_Click(object sender, EventArgs e)
  2.         {
  3.             rptTestHigh rpt1 = new rptTestHigh();

  4.             rpt1.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.A4;
  5.             //サイズ:A4 指定
  6.             rpt1.PageSettings.PaperSource = System.Drawing.Printing.PaperSourceKind.AutomaticFeed;
  7.             //給紙:自動 指定
  8.             rpt1.PageSettings.Orientation = GrapeCity.ActiveReports.Document.Section.PageOrientation.Landscape;

  9.             rpt1.PageSettings.Margins = new GrapeCity.ActiveReports.Document.Section.Margins(0,0,0,0);
  10.             rpt1.PrintWidth = rpt1.PageSettings.PaperWidth * 2;
  11.             rpt1.PageSettings.MirrorMargins = true;

  12.             rpt1.Run(false);

  13.             rpt1.Document.PrintOptions.PageScaling = GrapeCity.ActiveReports.Extensibility.Printing.PageScaling.ShrinkToPrintableArea;

  14.             rpt1.PrintReport(true, true);
  15.         }
复制代码





这里有一篇AR打印的博客,供您参考:ActiveReports区域报表实现自定义打印操作

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
lucky
论坛元老   /  发表于:2014-1-23 18:25:00
8#
非常感谢。
现在还存在的问题是,打印出来的报表上面的余白太大了。有没有办法可以解决下?
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-1-24 10:58:00
9#
回复 8楼lucky的帖子

在设置了这个后,缩放了内容,故报表上面的空白原因。

  1. rpt1.Document.PrintOptions.PageScaling = GrapeCity.ActiveReports.Extensibility.Printing.PageScaling.ShrinkToPrintableArea;
复制代码


非常抱歉。
回复 使用道具 举报
lucky
论坛元老   /  发表于:2014-1-24 11:25:00
10#
嗯,没事。还是使用GrapeCity.ActiveReports.SystemPrinter类中提供的方法解决了。
总之很感谢耐心的回复。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部