程序内部实际上是循环发送这20张图片,所以在打印机的打印队列中可以发现有20个打印任务。
现在想让打印机打印的时候双面打印,打印机本身是支持双面的,但是由于我发送打印任务的时候是一个一个单独发送的没有把打印任务合并一个任务发送过去,所以打印机没法进行双面打。请教各位有相关经验的高手,你们是如何处理的。
PS:我用“windows 图片查看器”打印图片的时候,他会有一个向导,让你选择需要打印几张图片,例如我选择了4张,然后点击打印,从打印机打印队列中可以看到这4张图片是作为一个打印任务被发送过去的,所以打印机打印的时候能支持双面打印。
5 个解决方案
#1
诶?那你也把任务整合之后发过去呗。
#2
如果你的任务发送太散,那么你就写个常驻服务,接受你发送的任务。同时你把你的打印过程分为:RegisterTask,Send 和 Commit。
RegisterTask的时候,返回给前端程序一个ID序列。
Send的时候,那个常驻服务并不让打印机打印,而是用Task的Cache,保存住。
当你的前端程序给常驻服务发送Commit(TaskID)的时候再打印。
RegisterTask的时候,返回给前端程序一个ID序列。
Send的时候,那个常驻服务并不让打印机打印,而是用Task的Cache,保存住。
当你的前端程序给常驻服务发送Commit(TaskID)的时候再打印。
#3
#4
一般winform的打印都是用PrintPage这个事件。你在响映这个事件时可以。
e.HasMorePages = true;
这样就可以连续打印了。
就可以有windows 图片查看器差不多的效果。
e.HasMorePages = true;
这样就可以连续打印了。
就可以有windows 图片查看器差不多的效果。
#5
嗯,搞定了。e.HasMorePages = true将多Page图片作为一个打印任务发送出去了。
#1
诶?那你也把任务整合之后发过去呗。
#2
如果你的任务发送太散,那么你就写个常驻服务,接受你发送的任务。同时你把你的打印过程分为:RegisterTask,Send 和 Commit。
RegisterTask的时候,返回给前端程序一个ID序列。
Send的时候,那个常驻服务并不让打印机打印,而是用Task的Cache,保存住。
当你的前端程序给常驻服务发送Commit(TaskID)的时候再打印。
RegisterTask的时候,返回给前端程序一个ID序列。
Send的时候,那个常驻服务并不让打印机打印,而是用Task的Cache,保存住。
当你的前端程序给常驻服务发送Commit(TaskID)的时候再打印。
#3
#4
一般winform的打印都是用PrintPage这个事件。你在响映这个事件时可以。
e.HasMorePages = true;
这样就可以连续打印了。
就可以有windows 图片查看器差不多的效果。
e.HasMorePages = true;
这样就可以连续打印了。
就可以有windows 图片查看器差不多的效果。
#5
嗯,搞定了。e.HasMorePages = true将多Page图片作为一个打印任务发送出去了。