有没有办法连续打印多个作业,而不让另一个用户在其间发送打印作业? (只要我的打印作业尚未完成,“不要将令牌交给其他用户”)
这是一个共享的打印机,很多用户都可以访问它,而我所做的是一个大文档,所以需要一些时间; 我正在使用多个作业,因为它的页面不能从同一个纸盘打印,所以我必须在我的代码中切换纸张来源。
请帮忙!并提前感谢。
P.S。 我正在使用.Net的PrintDocument对象
答案 0 :(得分:1)
我可以在打印(修改PrintPageEventHandler),here链接以及我的代码示例时更改每个页面的设置,而不是使用多个作业:
private void PrintPage(object sender, PrintPageEventArgs ev)
{
using (Metafile pageImage = new Metafile(streamList[currentPageIndex]))
{
// If it's the first page
if (currentPageIndex == 0)
{
// Use a certain tray
ev.PageSettings.PaperSource = PaperTrayPage1;
}
// For the rest of the document
else
{
// Use another tray
ev.PageSettings.PaperSource = PaperTrayRest;
}
currentPageIndex++;
ev.Graphics.DrawImage(pageImage, ev.PageBounds);
ev.HasMorePages = (currentPageIndex < streamList.Count);
}
}
可以组合多个作业(PrintDocument对象),here就是一个例子。
答案 1 :(得分:0)
据我所知,您不需要通过保持打开作业并发送PJL或其他不弹出页面的命令来保持打印机忙碌。另一种选择是将您的作业连接成一个大型作业。我猜你也可以以编程方式暂停共享打印队列并使用直接IP打印端口或其他东西直接发送数据。最后,没有一个优雅的解决方案。