找回密码
 立即注册

QQ登录

只需一步,快速开始

senyugo

银牌会员

25

主题

78

帖子

3353

积分

银牌会员

积分
3353

活字格认证

senyugo
银牌会员   /  发表于:2014-2-20 09:57  /   查看:5770  /  回复:5
获取打印的总页数时,页数不对。
iPageCnt = oSpread.GetPrintPageCount(0);

5 个回复

倒序浏览
roger.wang
社区贡献组   /  发表于:2014-2-20 10:08:00
沙发
回复 1楼senyugo的帖子

能再细化一下问题吗?

Spread WInform哪个版本的?  7.2吗?

在您的demo中,打印出的总页数是多少?  iPageCnt 又是多少?
为了快速帮您解决问题,最好提供一个简易demo。
回复 使用道具 举报
senyugo
银牌会员   /  发表于:2014-2-20 10:23:00
板凳
打印的相关代码如下。由于是日文系统。demo不是很好做。请谅解。
--------------------------代码-----------------------------
            oSpread.ActiveSheet.PrintInfo.Orientation = iOrien;
            oSpread.ActiveSheet.PrintInfo.ShowBorder = false;
            oSpread.ActiveSheet.PrintInfo.AbortMessage = &quotrinting...wait....";
            oSpread.ActiveSheet.PrintInfo.JobName = &quotrinting";

            PageCnt = oSpread.GetPrintPageCount(0);// ?
                         
            oSpread.ActiveSheet.PrintInfo.Footer = "/c/fn\"MS Pゴシック\"/fz\"9\"/p/fz\"9\"" + "//" + PageCnt +
                                                   "/r/fn\"MS Pゴシック\"/fz\"9\"" + sFoot;

            oSpread.ActiveSheet.PrintInfo.ShowColumnHeader = bColHead;                          // 列ヘッダを印刷?
            oSpread.ActiveSheet.PrintInfo.ShowColor = true;                                     // カラー印刷

            oSpread.ActiveSheet.PrintInfo.ShowGrid = false;                                     // グリッド線を印刷しない
            oSpread.ActiveSheet.PrintInfo.PrintType = 0;                                        // ぺージ範囲の印刷
            oSpread.ActiveSheet.PrintInfo.ShowRowHeader = FarPoint.Win.Spread.PrintHeader.Hide; // 行ヘッダを印刷しない
            oSpread.ActiveSheet.PrintInfo.ShowShadows = false;                                  // 網掛けで印刷をしない
            oSpread.ActiveSheet.PrintInfo.UseMax = false;                                       // 値がある部分のみ印刷
            oSpread.PrintSheet(oSpread.ActiveSheet);
--------------------------------------------------------------
例如:
打印出的总页数是2页。 debug下查看PageCnt的值,第一次打印时是1,第2次打印时变成了0
直接打印出来后 显示的页码也不对。(第一次1/1 2/1)(第2次  1/0  2/0)
正确的应该是1/2 2/2
是不是什么地方有问题。
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-2-20 14:45:00
地板
回复 3楼senyugo的帖子

从您给的代码看:
您需要实现的需求是在打印的页脚插入页码和总页数。

则个需求可以通过实现
/p      Inserts a page number
/pc   Inserts a page count (the total number of pages in the print job)

参考文档路径:Spread Windows Forms 7.0 Product Documentation > Developer's Guide > Managing Printing > Customizing the Appearance of the Printing > Customizing the Printed Page Header or Footer
回复 使用道具 举报
senyugo
银牌会员   /  发表于:2014-2-21 10:50:00
5#
解决了  谢谢
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-2-21 17:23:00
6#
回复 5楼senyugo的帖子

谢谢反馈。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部