c#打印文档和打印机队列

时间:2018-01-16 11:14:13

标签: c# printing

我正在提供打印吊牌的服务,因为我不能在这里测试大量打印,我想问一下做类似事情的人是否可以回答我的问题。

现在我只使用Print()调用,例如:

streamToPrint = new StreamReader(@"C:\printerlog\rootlog2.log");
try
{
    printFont = new Font("Arial", 10);
    PrintDocument pd = new PrintDocument();
    pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
    // Print the document.
    pd.PrinterSettings.PrinterName = "HP LaserJet M1522 series PCL6 Class Driver";
    pd.Print();
    }
    finally
    {
        streamToPrint.Close();
    }
(...)

这是有效的,但我认为由于打印队列的原因,这不是最好的实践。任何人都可以告诉我,如果我只是使用这种方法,这是否会被添加到打印队列中,或者我应该担心如果打印机忙碌会发生什么?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

打印应提交到队列。但是,如果您希望测试它以向我们证明,就像我们所有人经常最终做的最好的方法是编写一些测试代码来向自己证明它会添加到队列中。

在这种情况下,我会做1个打印作业并告诉它打印说20份。 (不提交相同工作的20份),然后立即告诉它做另一份打印工作。如果第二个排队,你知道排队,成功就是你的。如果它无法排队,那么你就知道打印了,你需要一个新的计划。

当有疑问时,我总是采取立场。