C#解析XML文档后,用Graphics按给的格式画图,通过printDocument控件打印,如何实现换行打印和换页打印

yanyu050418 2015-08-04 02:06:43
因为是按照给的格式画图,一行一行画,画列表时如果字符串过长,就要换行,换行的问题不大,现在主要问题是换页打印,如何判断该换页了,还有换页之后从哪行开始接着画,跪求大神指教,本人新手小白。。。
...全文
379 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2015-08-04
  • 打赏
  • 举报
回复
引用 10 楼 yanyu050418 的回复:
换行后,后面的内容要全部往下顶,可能换行的行数很多,所以我需要一个判断什么时候换页以及怎么接着前面一页画的方法
你的数据行样式是固定的(行内样式可能不固定),不然你就不能知道画完一行后,下一行该画到哪里 文字超宽只会影响到数据行的高度 你设一累加器记录当前行的位置就可以了
yanyu050418 2015-08-04
  • 打赏
  • 举报
回复
有没有类似情况的代码给我参考一下。。谢谢大神
yanyu050418 2015-08-04
  • 打赏
  • 举报
回复
引用 9 楼 Z65443344 的回复:
那么你就需要知道每行文字到底占多少高度,然后判断整体是否超过了页边距,超过了就必须换页 如果不涉及页边距的问题,那么你也不需要考虑什么时候换页,就直接往下继续画就好了
主要既要画界面,又要画字符串,没办法用循环,换行后面的每行都要判断是否超过高度?纸张大小是固定的。
yanyu050418 2015-08-04
  • 打赏
  • 举报
回复
换行后,后面的内容要全部往下顶,可能换行的行数很多,所以我需要一个判断什么时候换页以及怎么接着前面一页画的方法
於黾 2015-08-04
  • 打赏
  • 举报
回复
引用 8 楼 yanyu050418 的回复:
是给了格式,但要求字符串过长时自动换行,现在换行问题不大,主要是换页要变了
那么你就需要知道每行文字到底占多少高度,然后判断整体是否超过了页边距,超过了就必须换页 如果不涉及页边距的问题,那么你也不需要考虑什么时候换页,就直接往下继续画就好了
yanyu050418 2015-08-04
  • 打赏
  • 举报
回复
是给了格式,但要求字符串过长时自动换行,现在换行问题不大,主要是换页要变了
xuzuning 2015-08-04
  • 打赏
  • 举报
回复
你按需要的 页高 和 页宽 设置裁剪取 然后画一页打一页 或者用你的打印机支持的绘图语言直接画到打印机中
於黾 2015-08-04
  • 打赏
  • 举报
回复
否则如果仅仅因为某一行字比较长 导致整个多页文档全部串行了 哪个大哪个小?
於黾 2015-08-04
  • 打赏
  • 举报
回复
既然是对方给你数据让你画图, 那么就应该是文件里让你画哪你就画哪 而不要胡乱自动换行 如果给的数据错误,导致画到纸张外面去了 那也是数据的问题,而不是程序应该解决的问题
於黾 2015-08-04
  • 打赏
  • 举报
回复
你应该想办法在录入数据的时候就将换行符一起录入 这就好比你在编辑Excel表的时候如果不指定自动换行,难道还想打印的时候能自动给你换行吗
yanyu050418 2015-08-04
  • 打赏
  • 举报
回复
画的列表里有时候要换行,这样什么时候换页就不确定了,不知道怎么实现。。修改Y轴坐标是后面的事了
於黾 2015-08-04
  • 打赏
  • 举报
回复
所谓换页,GDI+画图里根本没有页的概念 页高是你自己定义的,也就是打印的纸张高度,这你应该自己清楚具体是多少 需要换页了,就把Y轴坐标修改个值,让它位于第二页的位置呗
yanyu050418 2015-08-04
  • 打赏
  • 举报
回复
主要画图打印感觉没办法像打印文本一样循环打印,所以不知道什么时候换页,换页后从哪行开始画

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧