C#打印PrintDocument

SJ_DDUp 2019-06-26 11:40:26
设置 PrintDocument.PrinterSettings.Copies属性可以将一个打印内容复制多份,一起连着打印,但这是打印的副本。打印内容是一样的。我想连着打不一样的内容,PrintDocument.PrintPage事件中有个HasMorePages属性,这个虽然可以设置多个打印内容不一样,但是不能连起来,是一张张出。请问大神怎么实现连起来打印,并且每张都不一样?
...全文
301 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lich2005 2019-06-27
  • 打赏
  • 举报
回复
给你一个思路吧,其实你原来的方式是 3个打印模块, A B C 对于 3页(A4纸)。

A-第一页
B-第二页
C-第三页

其实你可以在你的打印程序做一个拼接,把 ABC 的内容整合再打印到 一张纸上(这打印大小要预先自定义设置好,长宽应该有3个A4纸张大小长宽的)。于是你的新打印内容应该是这样的

A-第一页
B-第一页
C-第一页

打印出来的效果,估计是你想达成的。

SJ_DDUp 2019-06-26
  • 打赏
  • 举报
回复
引用 6 楼 desperaso 的回复:
连续打印多张不同纸张及不同方向的一个报表,目前我只想到用不同标记e.HasMorePages这个。仅供参考。 PrinterSettings.Copies方式我再看看学习,后续改进。 正在改
希望有突破,期待回复。
desperaso 2019-06-26
  • 打赏
  • 举报
回复
连续打印多张不同纸张及不同方向的一个报表,目前我只想到用不同标记e.HasMorePages这个。仅供参考。
PrinterSettings.Copies方式我再看看学习,后续改进。
正在改

SJ_DDUp 2019-06-26
  • 打赏
  • 举报
回复
我是想123连着打印,PrintPage事件HasMorePages属性设置true就可以执行多次,打印机会打3张出来,但是他打完一张会有“咔”一下的停顿,我是想3张像打1张那样流畅的出。就像设置PrintDocument.PrinterSettings.Copies打印份数那样的效果。
SJ_DDUp 2019-06-26
  • 打赏
  • 举报
回复
我是想123连着打印,PrintPage事件HasMorePages属性设置true就可以执行多次,打印机会打3张出来,但是他打完一张会有“咔”一下的停顿,我是想3张像打1张那样流畅的出。就像设置PrintDocument.PrinterSettings.Copies打印份数那样的效果。
desperaso 2019-06-26
  • 打赏
  • 举报
回复
引用 2 楼 SJ_DDUp 的回复:
为什么只打了一张


。。可能搞成旧的代码了,不好意思。
其实就是修改
public static List<int> page_Scope = new List<int>();
的值,比如打印2份,值就是1,1,2,2,3,3,如果逐份打印就是1,2,3,1,2,3
打印事件PrintDocument_QueryPageSettings(object sender, QueryPageSettingsEventArgs e)
里面有标记递增,并区分横向纵向打印的连续,在PrintPage事件里判断连续
SJ_DDUp 2019-06-26
  • 打赏
  • 举报
回复
引用 1 楼 desperaso 的回复:
https://www.cnblogs.com/qiaoke/p/10365440.html 里面的RBuild_Print.cs、Define_ReportFunction.cs
为什么只打了一张
desperaso 2019-06-26
  • 打赏
  • 举报
回复
https://www.cnblogs.com/qiaoke/p/10365440.html

里面的RBuild_Print.cs、Define_ReportFunction.cs


110,539

社区成员

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

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

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