找回密码
 立即注册

QQ登录

只需一步,快速开始

luoyefeng

注册会员

17

主题

77

帖子

154

积分

注册会员

积分
154

活字格认证

luoyefeng
注册会员   /  发表于:2012-5-31 10:04  /   查看:16034  /  回复:24
我想实现类似excel中的缩放功能,也就是页面设置中的缩放-调整为几页高几几页宽功能。帮助中说需要使用UseSmartPrint功能,我的代码如下,但似乎不起效果,请版主帮我看看,打印类型是ALL:

          var rules = new SmartPrintRulesCollection();
                rules.Add(new SmartPaperRule(ResetOption.None));
                rules.Add(new BestFitColumnRule(ResetOption.None));
                rules.Add(new ScaleRule(ResetOption.None, 1, 0.1f, 0.01f));
                printInfo.SmartPrintRules = rules;
                printInfo.SmartPrintPagesTall = (int)nmUPPageHeight.Value;
                printInfo.SmartPrintPagesWide = (int)nmUDPageWidth.Value;
                printInfo.UseSmartPrint = true;

24 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-5-31 10:52:00
沙发

回复 1# luoyefeng 的帖子

luoyefeng 你好,
目前无法实现打印缩放功能。Spread for ASP.NET printInfo 类设置针对于打印 PDF 文件。
回复 使用道具 举报
luoyefeng
注册会员   /  发表于:2012-5-31 11:14:00
板凳
不会哦,我在设计器中直接定义SmartPrint功能,貌似能行。而且,我在excel中设置这个功能后,然后用设计器打开,发现好像也能按设置的页数预览。关键是我发现设计器中ZoomFactor好像会自动根据设置的页宽和页高来调整,那为什么程序中设置了SmartPrint功能,不能自动调整ZoomFactor呢?
回复 使用道具 举报
luoyefeng
注册会员   /  发表于:2012-5-31 14:41:00
地板
楼主,你能对我上面提到的自动调整ZoomFactor解释一下吗?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-5-31 14:59:00
5#

回复 4# luoyefeng 的帖子

luoyefeng 你好,
请问楼主使用控件是 WinForm 平台还是 ASP.NET 平台?
回复 使用道具 举报
luoyefeng
注册会员   /  发表于:2012-5-31 15:05:00
6#
winform
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-5-31 15:08:00
7#

回复 6# luoyefeng 的帖子

不好意思,目前版块为 Spread for ASP.NET 版块,由于在打印设置方面两个平台存在较大差别,所以给出上述答案,我会把该问题转移到相应版块,稍后回复。
回复 使用道具 举报
luoyefeng
注册会员   /  发表于:2012-5-31 16:02:00
8#
有人给我解答这个问题吗?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-5-31 16:05:00
9#

回复 6# luoyefeng 的帖子

你好,使用下面代码,设置生效:

  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             var rules = new SmartPrintRulesCollection();
  4.             rules.Add(new SmartPaperRule(ResetOption.None));
  5.             rules.Add(new BestFitColumnRule(ResetOption.None));
  6.             rules.Add(new ScaleRule(ResetOption.None, 1, 0.1f, 0.01f));

  7.             PrintInfo printInfo = new PrintInfo();
  8.             printInfo.ZoomFactor = 2;
  9.             printInfo.SmartPrintRules = rules;
  10.             printInfo.SmartPrintPagesTall = 10;
  11.             printInfo.SmartPrintPagesWide = 10;
  12.             printInfo.UseSmartPrint = true;

  13.             //设置 Spread PrintInfo 属性
  14.             this.fpSpread1.Sheets[0].PrintInfo = printInfo;

  15.             for (int i = 0; i < 20; i++)
  16.             {
  17.                 for (int j = 0; j < 20; j++)
  18.                 {
  19.                     this.fpSpread1.Sheets[0].Cells[i, j].Text = "test";
  20.                 }
  21.             }

  22.             this.fpSpread1.PrintSheet(0);
  23.         }
复制代码
回复 使用道具 举报
luoyefeng
注册会员   /  发表于:2012-5-31 16:23:00
10#
printInfo.ZoomFactor = 2;

这是什么意思,难道还要手动设置ZoomFactor吗?
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部