社区
C#
帖子详情
强制分页打印
wutangye
2006-08-30 09:22:02
自己写的private void printDocument4_PrintPage(object sender, PrintPageEventArgs e)
能判断出打印的高度,如何在长度大于A4纸时,强制另起一页打印?
...全文
682
24
打赏
收藏
强制分页打印
自己写的private void printDocument4_PrintPage(object sender, PrintPageEventArgs e) 能判断出打印的高度,如何在长度大于A4纸时,强制另起一页打印?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dingjian2008
2006-12-07
打赏
举报
回复
mark
szh3210
2006-10-23
打赏
举报
回复
mark
starsword
2006-08-31
打赏
举报
回复
mark , 学习 ~
wutangye
2006-08-30
打赏
举报
回复
长江,怎么解决啊
wutangye
2006-08-30
打赏
举报
回复
e.HasMorePages = true;
如果设置这个的话就不停的打印相同的内容
长江支流
2006-08-30
打赏
举报
回复
我这有个分页原理和打印多页文本的例子
http://blog.csdn.net/flygoldfish/archive/2004/09/06/95685.aspx
http://www.webmis.com.cn/DownLoad/PrinterPageSetting.rar
长江支流
2006-08-30
打赏
举报
回复
e.HasMorePages = true;
长江支流
2006-08-30
打赏
举报
回复
这是全部打印源码
http://www.webmis.com.cn/misgoldprinter.htm
最新版本AnyReport.Net将支持XML定义与设计和Web打印、套打
www.AnyReport.Net
wutangye
2006-08-30
打赏
举报
回复
哈,问题解决了,多谢长江支流,调试过的代码如下
int a = 0;
int b = 3; //要打3页
private void printDocument4_PrintPage(object sender, PrintPageEventArgs e)
{
//MyPrint()为打印,如果没有打印完,返回true,也就需要新开一页
if (MyPrint(e.Graphics))
{
e.HasMorePages = true;
}
else
{
e.HasMorePages = false;
//打完了就要重置,要不然下次再来a永远大于1,永远新开一页
a = 0; b = 0;
}
}
private bool MyPrint(Graphics g)
{
a = a + 1;
g.DrawString("第" + a.ToString() + "页", new Font("楷体", 12, FontStyle.Bold), Brushes.Black, 300, 100);
if (a < b )//&& 坐标是否超了一页坐标等都要考虑)
{
//没打完
return true;
}
//打完了
return false;
}
长江支流
2006-08-30
打赏
举报
回复
好了,边界情况自己去调试去
这个已说的很清楚了
http://blog.csdn.net/flygoldfish/archive/2004/09/06/95685.aspx
http://www.webmis.com.cn/DownLoad/PrinterPageSetting.rar
长江支流
2006-08-30
打赏
举报
回复
你的b是什么意思?
从 for (; b < 5; b++) 看,你是想循环5页
int a = 0;
int b = 0;
private void printDocument4_PrintPage(object sender, PrintPageEventArgs e)
{
//MyPrint()为打印,如果没有打印完,返回true,也就需要新开一页
if (MyPrint(e.Graphics))
{
e.HasMorePages = true;
}
else
{
e.HasMorePages = false;
//打完了就要重置,要不然下次再来a永远大于1,永远新开一页
a=0;b=0;
}
}
}
private bool MyPrint(Graphics g)
{
a = a + 1;
g.DrawString("第" + a.ToString() + "页", new Font("楷体", 12, FontStyle.Bold), Brushes.Black, 300....);
if (a < b && 坐标是否超了一页坐标等都要考虑)
{
//没打完
return true;
}
//打完了
return false;
}
wutangye
2006-08-30
打赏
举报
回复
我那样写,是因为外部a=0
进入FOR后 a=1,还不会>1,再循环一次才会>1
wutangye
2006-08-30
打赏
举报
回复
按你那样写,进入死循环了
长江支流
2006-08-30
打赏
举报
回复
以上先指出一点错误,现在开始把打印的过程独立出来
wutangye
2006-08-30
打赏
举报
回复
如果
if (打印内容过程,打完了没有。--没有打完)
{
e.HasMorePage = true;
}
如果只是这样判断的话,会一直打印第一页相同的内容
长江支流
2006-08-30
打赏
举报
回复
int a = 0;
int b = 0;
private void printDocument4_PrintPage(object sender, PrintPageEventArgs e)
{
for (; b < 5; b++)
{
a = a + 1;
if (a >1) //这样a会永远>1的
{
e.Graphics.DrawString("1111", new Font("楷体", 12, FontStyle.Bold), Brushes.Black, 300, 0);
//打印的过程放在此句上面
e.HasMorePages = true;
}
else
{
e.HasMorePages = false;
//打完了就要重置,要不然下次再来a永远大于1,永远新开一页
a=0;b=0;
}
}
}
wutangye
2006-08-30
打赏
举报
回复
我是用e.Graphics.DrawString画的打印内容
wutangye
2006-08-30
打赏
举报
回复
b<5 //这里是只要b<5就接着打
a>1 //就要分下一页
长江支流
2006-08-30
打赏
举报
回复
你总得判断一下才设置吧,该分页的时候才设置
private void printDocument4_PrintPage(object sender, PrintPageEventArgs e)
if (打印内容过程,打完了没有。--没有打完)
{
e.HasMorePage = true;
}
else
{
//打印完毕
//打印索引重置,如
当前页变量 = 1;
DataGrid打印行索引 = 0;
e.HasMorePage = false;
}
--------------------------------------
e.HasMorePages = true;
如果设置这个的话就不停的打印相同的内容
wutangye
2006-08-30
打赏
举报
回复
神啊,翻遍了所有CSDN有关分页打印的贴子了
sz_lgp(longguoping)
这个问题我搞过,关鍵是要设定一个指针让程序知道打印到哪儿了,e.HasMorePages = True是打印重新生成一个空的页面,这时应将打印位置(x,y)回复到起始位。接下来就没什么问题了。
还是不懂,第二页的打印位置怎么设???
加载更多回复(3)
打印
分页
,html
强制
分页
打印
分页
,html
强制
分页
,一个表格一页,可以查看
打印
预览
JS 实现
分页
打印
功能
在调用window.print()时,可以实现
打印
效果,但内容太多时要进行
分页
打印
。 在样式中有规定几个
打印
的样式 page-break-before和page-break-after CSS属性并不会修改网页在屏幕上的显示,这两个属性是用来控制文件的...
JavaWeb
分页
技术实现
实现了JavaWeb
分页
技术:内存
分页
与数据库
分页
,并对
分页
进行了封装,学习该课程可以掌握
分页
的整个技术实现过程。 技术参数:Java+Servlet/Jsp实现
分页
数据库:MySQL课程中包含内存
分页
、数据库
分页
、按添加查询...
CSS实现
强制
浏览器
分页
在B/S程序中,对
打印
页面的控制,CSS相对比较弱,例如: 自动
分页
, 就基本没啥实际用途。我们通常需要自己在需要的时候,
强制
浏览器
分页
,这时可以使用以下样式: <style type="text/css"> .jb51...
打印
控件CLodop
增加:搭配云
打印
C-Lodop,支持跨平台的任何浏览器 增加:获得文档式模板值 增加:TABLE统计项支持Distinct统计,也可以四则运算表达式运算 增加:设置当内容超出纸宽或纸高时对应缩小(溢出自动缩小)语句 增加:优化...
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章